{"cells":[{"cell_type":"markdown","metadata":{"id":"1E642C8E69784D0AB608692D750E298A","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"# <center> Lecture 5:  Bayesian Inference: 如何获得后验分布  </center>  \n<center> <h2> Instructor: Dr. Hu Chuan-Peng </h2>  </center>"},{"cell_type":"markdown","metadata":{"id":"625CDB2EBC314F33831004E3B6ADD0DB","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"第一次小作业：R语言数据处理的基础  \n\n- 请注意，您需要在每个闯关题中取得 90分或以上 的成绩，才能晋级到下一关。  \n- 希望大家都能积极参与，展现出色的表现！"},{"cell_type":"markdown","metadata":{"id":"0B2D3A56F30040E28F872FDAC4C70E14","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"#### 分组安排  \n\n选课的同学自行组队👭👬（3-5人），班长负责提交名单，提交时间为下次周四上课前。"},{"cell_type":"markdown","metadata":{"id":"BD1A754AFE914DCEA56DBCF02EBA0AB8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## 回顾  \n### 单一事件、离散变量和连续变量中的贝叶斯公式  \n\n在前面的课程中，我们使用了一些简单的情境来帮助大家建立贝叶斯推断的直觉。  \n通过单一事件、离散变量和连续变量的例子逐步讲解了贝叶斯推断的核心思想：  \n\n\n| 知识点            | 内容描述                                         | 先验                                                              |   似然                                                                             | 贝叶斯更新                 | 感兴趣的目标    |  \n| -------------- | -------------------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------- | --------- |  \n| **单个事件**       | 一个使用特定语言风格的心理学实验被成功重复出来的可能性                  | [OSC2015](https://doi.org/10.1126/science.aac4716)的结果           |   [Herzenstein et al 2024](https://doi.org/10.1177/09567976241254037 )年的研究结果     | 可视化的方式 + 简单计算         | 下次实验的可重复性 |  \n| **离散变量**       | 多次试验(如6次实验中)的成功率                            | 人为分配的三种成功率(0.2, 0.5, 0.8)和它们出现的可能性                              | 进行重复后的结果在**三种**成功率下出现的可能性                                                        | 简单的手动计算               | 多次实验的可重复性 |  \n| **连续变量**       | 无数次试验的正确率                                | 符合成功率/正确率(0~1)特点和先验经验的概率分布                                      | 进行重复后的结果在**所有**成功率/正确率下出现的可能性                                                    | 已被证明的统计学公式            | 实验本身的可重复性 |  \n"},{"cell_type":"markdown","metadata":{"id":"A8424EFCB49A4D128579BFD5D8162A86","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## 回顾  \n### 单一事件中体现出的贝叶斯公式  \n \n- 某个研究的可重复性与语言风格。  \n\n**一项研究使用了确切语言（事件 B 已经发生）的心理学研究**，其**可重复**的概率是多少。  \n\n- A 事件代表的是一项心理学研究是可重复的；  \n- B 事件代表的是一项心理学研究使用了确切语言。"},{"cell_type":"markdown","metadata":{"id":"0F154460484F4386892C6EC41F5F4F2C","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n![Image Name](https://cdn.kesci.com/upload/sjp0bqwjgl.png?imageView2/0/w/900)  \n\n"},{"cell_type":"markdown","metadata":{"id":"0FDAE701F14C46528B0DB7EC35664ED4","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"![Image Name](https://cdn.kesci.com/upload/sl522n7hfr.png?imageView2/0/w/900)"},{"cell_type":"markdown","metadata":{"id":"7DE85C84CB4544AF9E2EBF29547B2B4E","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"用条件概率公式表示：  \n\n$$  \nP(A|B) = \\frac{P(A \\cap B)}{P(B)}  \n$$  \n\n其中， $P(A \\cap B)$ 表示事件 A 和事件 B 同时发生的概率，即研究既是可重复的，又使用了确切语言，根据上图，这个值为 0.224。  \n\n$P(B)$ 表示研究使用确切语言的总概率，即可表示为：  \n\n$$  \nP(B) = P(A \\cap B) + P(not A \\cap B)  \n$$  \n\n即，可重复且使用确切语言的概率加上不可重复但使用确切语言的概率，具体为：  \n\n$$  \nP(B) = 0.224 + 0.27 = 0.494  \n$$  \n\n代入条件概率公式：  \n\n$$  \nP(A | B) = \\frac{0.224}{0.494} \\approx 0.454  \n$$  "},{"cell_type":"markdown","metadata":{"id":"E74D1E7018494F75B9BD1248489C5FD7","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 结论  \n\n- 条件概率告诉我们，随着我们获得新的信息（如事件 $B$ 的发生）， 我们会调整关于在这种情况下事件 $A$ 发生的概率($P(A|B)$。  \n\n$$  \nP(A|B) = \\frac{P(A \\cap B)}{P(B)}  \n$$  \n  \n- 这个公式就是鼎鼎大名的**贝叶斯公式**  \n  \n- 这正是贝叶斯定理的基础思想：我们通过结合先验信息和新观测数据，不断更新对事件发生概率的认识。"},{"cell_type":"markdown","metadata":{"id":"1CC60D96C8F44C70A3B4CFC5E577450D","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 随机变量随着信息的更新 --> 贝叶斯法则  \n\n- 贝叶斯公式描述的是，给定事件 $B$已经发生的情况下，事件 $A$ 的发生概率如何调整。  \n- 假如这里的$A$是特定模型下的一个参数(随机变量)，关于$A$的概率分布来自于我们的先验知识 $P(A)$ ；  \n- 假如这里的$B$是新获得的与$A$有关数据，根据模型与$A$可以计算似然 $P(B|A)$；  \n- 经过贝叶斯更新，可以得到更新的关于$A$的概率分布： $P(A|B)$。  \n\n上述过程中，我们从贝叶斯公式“升级”成了利用贝叶斯法则进行推断：  \n- 贝叶斯推断的核心思想：**在新数据的条件下，更新我们的信念**。  \n- 贝叶斯推断的特点：（不同的）先验与（不同的）数据之间平衡、序列性等"},{"cell_type":"markdown","metadata":{"id":"45F88857084940E5A0A8612AB8F91EB1","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"所以：  \n\n1. **贝叶斯推断的本质**就是计数，符合人类的推理直觉。  \n \n2. 贝叶斯统计的主要作用在于将这种直觉形式化，通过数学工具帮助我们在更复杂的情境中解决问题。  \n\n因此，也引出一个问题：既然贝叶斯推断这么符合人的直觉，为什么我们以前在心理统计课上不教它呢？ "},{"cell_type":"markdown","metadata":{"id":"E66D5C3634F6429E93FE8E83B5270AD2","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"- 贝叶斯推断的核心在于如何得到**后验分布**。通过结合先验和似然，我们能够得到对未知参数的最新估计。  \n\n- 贝叶斯推断的难点在于：如何得到后验分布？"},{"cell_type":"markdown","metadata":{"id":"4F4B627611784B95B591F5E33E9429C8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"#### Beta-Binomial是如何得到后验分布的？  \n\n先前例子：推断编号为 “82111” 被试的正确率，观测到的数据为253 次试验数据，其中有 152 次判断正确。  \n\n\n先验（Informative Prior）, $Beta(70,30)$  \n\n$$  \n\\pi | (Y = 152) \\sim \\text{Beta}(70 + 152, \\, 30 + 101)  \n$$  \n\n\n--> 后验分布可以通过**套公式来的计算**，非常简洁。  \n\n但问题在于：是不是所有情况下的贝叶斯分析都可以如此简洁？  \n\nBeta-Binomial 属于共轭分布簇。  \n"},{"cell_type":"markdown","metadata":{"id":"A0D74A61FD5E4FDCA24980ECC96F0758","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## 共轭先验 (Conjugate Prior)  \n\n**共轭先验的定义与解释**  \n\n**共轭先验**：在贝叶斯推断中，在给定数据（似然函数）后，如果先验分布产生一个与之属于同一分布簇的后验分布，称该先验为该似然的**共轭先验**。  \n- 具体来说，给定一个概率分布簇和它的参数，如果这个参数的先验分布与后验分布属于同一个分布簇，那么这个**先验分布被称为该似然函数的共轭分布**。  \n\n**共轭先验的优点是：**  \n1. **计算简便**：共轭先验使得后验分布的数学形式保持简单，易于计算。  \n2. **解释性**：共轭先验有时可以提供直观的参数解释。  \n3. **封闭形式的解决方案**：使用共轭先验可以使得后验分布有封闭形式的解，这对于抽样和推断非常有用。  \n"},{"cell_type":"markdown","metadata":{"id":"E78474A5A5774AF694076738F064CF2F","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n以正确率 $\\pi$ 为例，我们考虑以下情况：  \n- $\\pi$ 的先验分布的概率密度函数（PDF）为 $f(\\pi)$。  \n- 给定 $\\pi$ 下观测数据 $Y$ 的似然函数为 $L(\\pi|Y)$。  \n\n如果后验分布的PDF $f(\\pi|Y)$ 与先验分布属于同一模型家族，并且可以表示为：  \n$$  \nf(\\pi|Y) \\propto f(\\pi) \\cdot L(\\pi|Y)  \n$$  \n\n那么，这个先验分布 $f(\\pi)$ 就是似然函数 $L(\\pi|Y)$ 的共轭先验。  \n"},{"cell_type":"markdown","metadata":{"id":"8EFB4A6E79BE4A279922AC258D55EC56","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"#### Beta-Binomial conjugate family  \n在lec3 与 lec4 中，我们使用了$Beta$分布来反映我们对参数$\\pi$的先验认识。  \n\n我们知道若先验可以用$Beta(\\alpha,\\beta)$描述，收集到的数据可以用$Bin(n, \\pi)$描述，后验分布就可以用$Beta(\\alpha+y, \\beta+n-y)$描述。  \n"},{"cell_type":"markdown","metadata":{"id":"94337028D8AB4F37BCB701C1B6294A28","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**非共轭先验会带来什么**  \n\n让我们再回到随机点运动任务正确率的例子，考虑一个非共轭先验的状况  \n\n假如此时的先验分布$f(\\pi)$不是$Beta$分布，而是以下形式：  \n$$  \n\\begin{equation}  \nf(\\pi)=e-e^\\pi\\; \\text{ for } \\pi \\in [0,1]  \n\\end{equation}  \n$$  \n\n![](https://www.bayesrulesbook.com/bookdown_files/figure-html/non-conjugate-1.png)  \n> source: [Bayes Rules!#non-conjugate-1.png](https://www.bayesrulesbook.com)  \n"},{"cell_type":"markdown","metadata":{"id":"A3F15009CE85465BBAD68F5B03048FAC","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n> 假设，数据为 50 次反应中有 10 次正确，那么在共轭先验$Beta(45,55)$的情况下，后验分布可以简洁地写为$Beta(55=45+10,95=55+40)$。  \n> 但在非共轭先验的情况下，该后验分布的结果变得很繁琐。   \n> 并且在非共轭先验的情况下，我们很难从这个后验表达式中获得类似的直觉。   \n\n##### <a id='a1'></a>[😂非共轭先验下，后验公式推导](#a1_) ：  \n\n此时似然函数仍是一个二项分布  \n$$  \nL(\\pi | y=10) = \\left(\\!\\begin{array}{c} 50 \\\\ 10 \\end{array}\\!\\right) \\pi^{10} (1-\\pi)^{40} \\; \\; \\text{ for } \\pi \\in [0,1]  \n$$  \n\n后验可以写成：  \n$$  \nf(\\pi | y = 10) \\propto f(\\pi) L(\\pi | y = 10) = (e-e^\\pi) \\cdot \\binom{50}{10} \\pi^{10} (1-\\pi)^{40}  \n$$  \n\n加入归一化常数后：  \n\n$$  \n\\begin{equation}  \nf(\\pi|y=10)= \\frac{(e-e^\\pi)  \\pi^{10} (1-\\pi)^{40}}{\\int_0^1(e-e^\\pi)  \\pi^{10} (1-\\pi)^{40}d\\pi}  \\; \\; \\text{ for } \\pi \\in [0,1]  \n\\end{equation}  \n$$"},{"cell_type":"markdown","metadata":{"id":"F4E07206268341919AC99C53AB3C5A48","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 其他共轭先验  \n除了 Beta-Binomial 和 Normal-Normal，贝叶斯推断中还有其他重要的共轭先验组合：  \n\n![Image Name](https://cdn.kesci.com/upload/skt7ayyug7.jpg?imageView2/0/w/750/h/640)  \n> Source:https://blog.csdn.net/weixin_55252589/article/details/135380176  \n"},{"cell_type":"markdown","metadata":{"id":"E1F04FCA317E49ADA95F7DCE0E3A5DE4","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"这些共轭家族的主要优势在于，极大简化了计算。  \n\n然而，在实际应用中，许多复杂的统计模型并没有简单的共轭先验。对于这些模型，计算后验分布中的分母（归一化常数）变得非常困难，甚至无法通过解析方式计算出来，如之前提到的 <a id='a1_'></a>[Beta-Binomial 在非共轭先验下的后验公式推导](#a1)。  \n\n因此，贝叶斯推断在很长一段时期内，被困在共轭分布的适用范围内，导致其相对频率主义统计而言毫无优势可言。  \n\n但是算力的普及改变了这一状况，基于数值的方法和近似的方法也能够在非共轭情况下获得后验分布，完成贝叶斯推断，这是现代贝叶斯统计获得广泛应用的**前提**。  \n\n> Note:在本课中，我们不对共轭先验进行进一步介绍，如果想深入了解上述内容，可访问我们去年 [lecture 5 的 jupyter notebook](https://gitee.com/hcp4715/PyBayesian/blob/master/Archive/2023/Notebooks/Lecture5.ipynb)以及本课件最后的附录。  "},{"cell_type":"markdown","metadata":{"id":"D5348391E1264DF18A755C5F62FC66C9","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n在实际应用中，我们会遇到一些问题，比如：  \n- 对于连续变量，在计算边缘似然$f(y)$时需要积分，然而某些情况下(例如，先验不是似然的共轭分布)，此时积分难以或无法计算。  \n- 当参数或数据维度较高时，计算边缘似然$f(y)$的难度会变得非常困难。  \n\n**条件概率的计算**  \n最初，当我们只有一个或少数几个参数时，条件概率的计算相对简单。例如，给定数据$y$，参数$\\theta_k$的条件概率可以表示为：  \n$$  \nf(\\theta_k | y) = \\frac{f(\\theta_k)L(\\theta_k | y)}{f(y)}  \n$$  \n\n- 这里，$f(\\theta_k)$是参数$\\theta_k$的先验概率分布，  \n- $L(\\theta_k | y)$是似然函数，而$f(y)$是数据的边缘似然。  \n\n\n**连续变量的挑战**  \n当参数$\\theta_k$是连续变量时，计算开始变得复杂。我们需要对$\\theta_k$的所有可能值进行积分来计算边缘似然$f(y)$：  \n$$  \nf(y) = \\int f(\\theta_k)L(\\theta_k | y) d\\theta_k  \n$$  \n- 这个积分可能已经比较难以计算，特别是当似然函数$L(\\theta_k | y)$的形式复杂时。  \n"},{"cell_type":"markdown","metadata":{"id":"A091C689DEF8400E958EEB0807257D48","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n\n**多个连续变量的复杂性**  \n当模型包含多个连续参数$\\theta_1, \\theta_2, ..., \\theta_k$时，计算边缘似然$f(y)$的分母变得更加复杂：  \n$$  \nf(y) = \\int_{\\theta_1}\\int_{\\theta_2} \\cdots \\int_{\\theta_k} f(\\theta)L(\\theta | y) d\\theta_k \\cdots d\\theta_2 d\\theta_1  \n$$  \n\n挑战在于：  \n- **计算量增加**：随着参数数量的增加，多变量积分的计算量呈指数级增长。  \n- **解析解难以获得**：对于某些复杂的似然函数，可能不存在封闭形式的解析解，使得传统的积分方法无法直接应用。  \n- **数值积分的限制**：即使使用数值积分方法，也可能因为维度灾难（curse of dimensionality）而面临计算上的困难，导致精度下降或计算成本过高。  \n\n\n"},{"cell_type":"markdown","metadata":{"id":"8A5D6299713646EA8052A8037A061521","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## 对后验的近似(Approximating the Posterior)  \n\n“算力的普及改变了这一状况，基于数值的方法和近似的方法也能够在非共轭情况下获得后验分布，完成贝叶斯推断，这是现代贝叶斯统计获得广泛应用的**前提**。”  \n  "},{"cell_type":"markdown","metadata":{"id":"F5E5777C6B2E4040A7E8075CB80B4B43","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"在解决计算问题时，现代方法主要分为两大类：数值方法和近似方法。  \n- 数值方法通过精确的算法直接求解问题，包括迭代法、分解法等。  \n- 而近似方法则通过牺牲一定的精度来换取计算效率，包括蒙特卡洛模拟、变分法、插值与拟合技术等。  \n\n本课中我们将介绍两种**近似方法**：  \n1. 网格近似  \n2. 马尔可夫链蒙特卡洛（MCMC）"},{"cell_type":"markdown","metadata":{"id":"88C7A00EE8E14C85869CCD039CCDF6ED","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### Grid approximation 网格近似  \n![Image Name](https://www.bayesrulesbook.com/bookdown_files/figure-html/unnamed-chunk-177-1.png)  \n\n\n> * 想象有一张图像(图三)，但你不能完整地看到它。不过你可以从左到右每次取一个这个图像中的一个小格来观察它。  \n> * 只要格子越细，最后组合在一起就会与完整的图片更近似  \n\n在网格近似中，后验分布$f(\\theta | y)$其实就是完整的图片。我们可以选择有限个$\\theta$，并观察对应的$f(\\theta | y)$，以此来近似完整的后验分布。  "},{"cell_type":"markdown","metadata":{"id":"BA0A019E01A74BFCBFDC44F05FEA4AA6","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"（以一个参数为例）网格近似可以分为以下四个步骤：  \n1. 选定一系列离散的$\\theta$值  \n2. 计算每个$\\theta$值对应的先验分布$f(\\theta)$和似然函数$L(\\theta|y)$  \n3. 对于所有的$\\theta$值，计算$f(\\theta)$与$L(\\theta|y)$二者的乘积并相加，再进行归一化  \n4. 归一化后，根据$\\theta$值的后验概率分布，随机抽取$N$个$\\theta$值  \n\n我们以Beta-Binomial的例子来演示这四个步骤"},{"cell_type":"markdown","metadata":{"id":"2160007B8FF24F4DB9AF6F5CA55B5E5A","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### A Beta-Binomial example  \n\n设定先验$\\pi$ 服从  \n\n$$  \n\\pi \\sim \\text{Beta}(\\alpha = 70, \\beta = 30)  \n$$  \n\n似然函数为：  \n$$  \nY | \\pi  \\sim \\text{Bin}(n, \\pi)  \n$$  \n\n> * 假设$\\pi$反映的是正确率，似然函数反映的则是在某个正确率下，总trial为100次时，正确次数的分布概率情况。  \n> $$  \n\\pi    \\sim \\text{Beta}(70, 30)  \n> $$  \n> $$  \nY|\\pi  \\sim \\text{Bin}(100, \\pi)  \n$$  \n> * 在观察到 $n$ 次事件中有 $Y = y$ 次目标事件后，$\\pi$的后验分布可以用Beta模型来描述，反映了先验（通过$\\alpha$和$\\beta$）和数据（通过y和n）的影响：  \n> $$  \n> \\pi | (Y = y) \\sim \\text{Beta}(\\alpha + y, \\beta + n - y)  \n$$  \n"},{"cell_type":"markdown","metadata":{"id":"A8E9FCDD77344DCAAF8CF3875F35A0D3","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"假设在试次总数为100次时，正确次数为90，我们通过共轭先验的公式，可以直接计算出$Beta$后验分布的两个参数：  \n- $Y + \\alpha = 90 + 70\\;\\;, \\;\\;\\;\\;\\;\\;\\;\\; n - Y + \\beta = 100 - 90 + 30$  \n- $\\pi | (Y = 90) \\sim \\text{Beta}(160, 40)$  \n\n这个结果可以用来对我们使用网格近似的后验进行验证。"},{"cell_type":"markdown","metadata":{"id":"8F8D1480CDEC4276A64FFA061445CAE0","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**示例：网格近似估计后验分布**  \n\n现在我们暂时忘记后验的简便计算方法，使用网格近似来对后验分布进行估计。  \n\n**Step 1：** 首先，为了方便演示，我们将从0.5~1内的连续变量$\\pi$中取出11个值：$\\pi \\in \\{0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1\\}$"},{"cell_type":"code","metadata":{"collapsed":false,"id":"84BD5C97E25342088BF8DAFEE0495BF6","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 安装和加载包\noptions(repos = c(CRAN = \"https://mirrors.tuna.tsinghua.edu.cn/CRAN/\"))\nif (!requireNamespace('pacman', quietly = TRUE)) {\n    install.packages('pacman')\n}\npacman::p_load(\"tidyverse\",\"ggplot2\",\"dplyr\",'rstan',\n               \"BayesFactor\",\"bayestestR\",\"papaja\",\"bayesplot\")\noptions(warn = -1)  # 抑制警告","outputs":[],"execution_count":1},{"cell_type":"code","metadata":{"collapsed":false,"id":"D3AFCC0547BD46C48019F86D7555AAA1","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 生成从 0.5 到 1 的 11 个值\npi_grid <- seq(0.5, 1, length.out = 11)\ncat(\"从0.5~1内的连续变量π中取出11个值:\", pi_grid, \"\\n\")","outputs":[{"output_type":"stream","name":"stdout","text":"从0.5~1内的连续变量π中取出11个值: 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 \n"}],"execution_count":2},{"cell_type":"markdown","metadata":{"id":"50D1CB8BE46548DC946443B7144B8A12","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**Step 2 & 3:**  \n\n在每一个$\\pi$下，计算似然函数$Bin(100, \\pi)$ (Y=90)并及先验分布 $Beta(70, 30)$相乘，然后求和并进行归一化"},{"cell_type":"code","metadata":{"collapsed":false,"id":"DAB478B260D744DCA5880B9B32ADD3E0","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 计算先验、似然和后验\nprior <- dbeta(x = pi_grid, shape1 = 70, shape2 = 30)\n# dbeta: the value of probability density function of beta distribution\n# given the paramenters of beta distribution.\n\nlikelihood <- dbinom(x = 90, size = 100, prob = pi_grid) \n# dbinom: the value of the probability density function (pdf) of the binomial distribution \n# given a certain random variable x, number of trials (size) and \n# probability of success on each trial (prob)\n\nposterior <- prior * likelihood / sum(prior * likelihood)\n","outputs":[],"execution_count":3},{"cell_type":"code","metadata":{"id":"FD222B42B8F741B4AF88AE0F037860A6","notebookId":"68d7f5f0641ee0c1d9bb01cc","jupyter":{},"collapsed":false,"scrolled":false,"tags":[],"slideshow":{"slide_type":"slide"},"trusted":true},"source":"# 绘制后验分布茎状图（）\nplot_data <- data.frame(pi_grid = pi_grid, posterior = posterior)\nggplot2::ggplot(plot_data, ggplot2::aes(x = pi_grid, y = posterior)) +\n  ggplot2::geom_segment(ggplot2::aes(xend = pi_grid, yend = 0), linewidth = 0.5) +\n  ggplot2::geom_point(size = 2) +\n  ggplot2::ylim(0, 1) + # 零点与x轴重叠\n  ggplot2::scale_y_continuous(limits = c(0, 1), expand = c(0, 0)) +\n  ggplot2::labs(x = \"pi\", title = \"Posterior\") +\n  papaja::theme_apa() +\n  theme(axis.title.y=element_blank())","outputs":[{"output_type":"stream","name":"stderr","text":"\u001b[1m\u001b[22mScale for \u001b[32my\u001b[39m is already present.\nAdding another scale for \u001b[32my\u001b[39m, which will replace the existing scale.\n"},{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"JVBERi0xLjcKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nMVYS4sbRxC+z6/oo3RQud+P60IIGAxxIshh8SHIlnHI\nJvY64L/vr6ef6pmNRWZZISRU39Tjq+pHdY9gHJ+DwI/hmp0epi+TYPHz+JG9+oOzj18nnh/G\n7+MHdl4CyeLXn5kgYVVwln0D9hrfP6f7d4wTZ+8nwdkbNpj+Nr1lXyYtKATLlKSgmDaWuHRM\nS07CR6Xf2d8LTj8wOc9+hbd4ppgEA8FD8cVnFmCbfQni1gbnQZqvkhbeEQ86+oIfwx4GJLC/\nciZSemACEeWmiPBDBn7gi1xwiNiQIaINTAWOiFZtC+kgcB+dURAxYgbGiArqwriYY7CbQioh\nSFsTvZHmFjELsohpJIjJmKXYFtJgxsjZGUkRYsiMLELOE2v75FFBk3Jh9s9VnDw90ke0HBBn\nmNXLgG3mW0NS22r8wCpgUbrALCfJ1VJM6qcCTFoHcqZaX0pVOy0kE2Zmbo1ZKwUn5xT35snF\n/7LUU1EFF9dUVXBLrguGJV6RxAaOyNqlWMIlYCp0qvkgDpUt9LaW9uX55/JqdVV5tUdn6NkV\nILPReCDcilzpJaTxyw4upbG6Wj5PdV+afi6u11cV1weyNVpqTwWxaYP1mozTK3KyOBUk88M6\nqi5GuZqcLzhuLvFtkihtex4KFFr/V6Glwm4/R6xduSImDiD8YI8XSzHpnwoSGXrSyjcHo1xN\nzpmhiToos9lU5pukkIo8VrNy/zFpJ8mARHc0KYAm6dCjLQ4Q3q/Is8GpABNTOLjFY1T1MMrF\n4q7xrUSVUBTgtj+vZAStyWE7RRoUtFnK2eJUkAmQJo7dszkd5WKySgXDo+G4P8cUxGARIHfD\nYS9X5GRxKkgsiiePHl9djHI1uctHo6t6qsLx0Ad/cfIpiCUV4viIOdBSThangqQlbXGxqC5G\nuZqcLzhu3ZdulES+GKmruitWHWGsuv7UkNSQ4IhU17CaXDpORmqDqh4GceiwWj1Ph71JCrnI\n7qouq10gL2TPsCKZkdMxzRW5MkxIY1g8DOJYZPc8PfYmKfSbf39tqi8K1q9N+YLfUe1v/PHK\nxElxEaxgyz8Ytbsj/KD/BI8+n95xVDFgkQVuU9re48gg2fFhenU+8APutux4nu538fK7f3d8\nDX7IDA0Ere34fn4gTf9AOVcemKcs3LqFKDF+OiKdeNNM37jBx1cay/T7O2NSUWi7MZdWoQw0\nFYnDJ+80stwUhHIUMMxVowBdmLnua8NQRnY5YgFEpLrgPGRpJeoRNTAkPjbUCjQToQ2hZJ1S\nQ5pWez9StNbemLT3C0Vr7Y1Du6BXrZUru3aOZOjJN6RP+P/OUjRficOWQUlxOPFaxoW4Mk3N\n/mCld/hn57kkDLY57ZSGuzL9qop/SiVkFUzJOiPLDhhZykwPswk3bc7dvMpRFu+tw9lgQezz\n/iDd7lOKh3qEEI8QyUkVpdbFFzgFiYOKiK7ud7/sD8Ls/tlLu/u6Pyi++xf+7O5DBB73kD/t\nD/n5YyH8dvoOJi8tqgplbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKICAgMTEyNwplbmRvYmoK\nMyAwIG9iago8PAogICAvRXh0R1N0YXRlIDw8CiAgICAgIC9hMCA8PCAvQ0EgMSAvY2EgMSA+\nPgogICA+PgogICAvRm9udCA8PAogICAgICAvZi0wLTAgNyAwIFIKICAgPj4KPj4KZW5kb2Jq\nCjggMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDkgMCBSCiAgIC9OIDEKICAg\nL0ZpcnN0IDQKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicM1Mw4IrmiuUC\nAAY4AV0KZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCiAgIDE2CmVuZG9iagoxMSAwIG9iago8\nPCAvTGVuZ3RoIDEyIDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvTGVuZ3RoMSA3\nMjM2Cj4+CnN0cmVhbQp4nOU5fXwU1bXnzMx+JZvsR3Y3SxaysxkSIhsIZAkYXmTHfKzBiGw+\nVndDgQ0ECH5AcIMVFFhENCzQgEb6IlQoVVsoygQQgtUatbX4wU/6qrUtUqKV1lpoKNVawey+\nM7ObEH1P33u/9/57Nztz7znnnnPP1z33zi+AAJAGUWCBX3hnc9vpid97FiA9CMA0Lby7nb/x\nd7WXATKOENyxuG3JnWubj5oAjOUAmiNL7li12PHFjLEk4QAJOdC6qLklHTb3AGRfJNzUVkJk\ndLGdAPZCgse23tl+z8zxms8JvongmjuWL2wGmHue4C6Cb7qz+Z42dj37IcH9BPNtdy1qG3zm\n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\nago8PCAvTGVuZ3RoIDE0IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0K\neJxdkbluwzAMhnc9Bcd0CHwkthPAMFCki4ceqNsHcCQqEVDLgqwMfvuKYpACHWx++klKPLJT\n/9JbEyD78LMcMIA2Vnlc5puXCGe8GCuKEpSR4X5KfzmNTmQxeViXgFNv9SzaFrLP6FyCX2Hz\nrOYzPgkAyN69Qm/sBTbfp4Gl4ebcD05oA+Si60Chjte9ju5tnBCylLztVfSbsG5j2l/E1+oQ\nynQuuCQ5K1zcKNGP9oKizfMOWq07gVb98xUNp5y1vI5etDsKzfNoRFti4miiXrJeElfMFXHD\n3BAXzAVxzVwTH5gPxEfmY+SG32rorZr1mvSK9SrpmnVN8TuO3xHvmfcUw/XUVE/DdUZDzd67\norZpP495ypv3cZRpiWmGND1j8bFnNzvKSt8vEcWU0wplbmRzdHJlYW0KZW5kb2JqCjE0IDAg\nb2JqCiAgIDMwMQplbmRvYmoKMTUgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAg\nIC9Gb250TmFtZSAvQkRCUVVWK0xpYmVyYXRpb25TYW5zCiAgIC9Gb250RmFtaWx5IChMaWJl\ncmF0aW9uIFNhbnMpCiAgIC9GbGFncyAzMgogICAvRm9udEJCb3ggWyAtNTQzIC0zMDMgMTMw\nMSA5NzkgXQogICAvSXRhbGljQW5nbGUgMAogICAvQXNjZW50IDkwNQogICAvRGVzY2VudCAt\nMjExCiAgIC9DYXBIZWlnaHQgOTc5CiAgIC9TdGVtViA4MAogICAvU3RlbUggODAKICAgL0Zv\nbnRGaWxlMiAxMSAwIFIKPj4KZW5kb2JqCjcgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAgL1N1\nYnR5cGUgL1RydWVUeXBlCiAgIC9CYXNlRm9udCAvQkRCUVVWK0xpYmVyYXRpb25TYW5zCiAg\nIC9GaXJzdENoYXIgMzIKICAgL0xhc3RDaGFyIDExNgogICAvRm9udERlc2NyaXB0b3IgMTUg\nMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCiAgIC9XaWR0aHMgWyAwIDAgMCAw\nIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc3LjgzMjAzMSAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0\nNCA1NTYuMTUyMzQ0IDAgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYu\nMTUyMzQ0IDU1Ni4xNTIzNDQgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCA2NjYuOTkyMTg4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw\nIDAgMCA1NTYuMTUyMzQ0IDAgMCAwIDIyMi4xNjc5NjkgMCAwIDAgMCAwIDU1Ni4xNTIzNDQg\nNTU2LjE1MjM0NCAwIDMzMy4wMDc4MTIgNTAwIDI3Ny44MzIwMzEgXQogICAgL1RvVW5pY29k\nZSAxMyAwIFIKPj4KZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9PYmpTdG0KICAgL0xlbmd0\naCAxOCAwIFIKICAgL04gNAogICAvRmlyc3QgMjMKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUK\nPj4Kc3RyZWFtCnicVZFBa4QwEIXv+RVzKehFE43WXWQPq7CUUhC3py09hBjcQDGSxNL9903i\nuqWEHObjzbw3CQGMSAkFRhkQWiLyDHm5Q3UN6fttFpB2bBQGAUD6KgcDH5ABhh4+A2rUMlkg\n6HAIHZ1Ww8KFhogzqRWQhFQJhehq7Wz2aRroqNl8ldwkSo9xvI7RglmpppZZAVG7z3BW4F1W\n4YoSml/ibf5fInhyrr61Y1r4CD5UAG9ikOyoflxS7E6Babhb3sk6uQH60J+0Wmaoa1/4evUI\ndENnRzWbzOy9+G3DL2D1IraqcapWfEsu+tPRQ5fZ814YtWguDOQPz7Nr5HaNbtwH/FuvYZZ9\nqfG+nXv8+3JO9AujtG4qCmVuZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKICAgMjc1CmVuZG9i\nagoxOSAwIG9iago8PCAvVHlwZSAvWFJlZgogICAvTGVuZ3RoIDgxCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCiAgIC9TaXplIDIwCiAgIC9XIFsxIDIgMl0KICAgL1Jvb3QgMTcgMCBSCiAg\nIC9JbmZvIDE2IDAgUgo+PgpzdHJlYW0KeJxjYGD4/5+JgYuBAUQwMbLcYmBgZOAHEiyHQWIc\nQJb0biDB6g4iTgIJ2Ysg1j0gIfEbSEgKAwmpfhCxDGIKI4hgZpSPBIrJFzAwAAByCwtxCmVu\nZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjgwNDgKJSVFT0YK","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/FD222B42B8F741B4AF88AE0F037860A6/t3aitlduny.svg\">"},"metadata":{"image/png":{"width":420,"height":420},"image/jpeg":{"width":420,"height":420},"image/svg+xml":{"width":420,"height":420,"isolated":true},"application/pdf":{"width":420,"height":420}}}],"execution_count":4},{"cell_type":"markdown","metadata":{"id":"73BB0043B0AE484C93E385920BDE92E1","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**Step 4：**  \n\n得到后验结果($\\pi$)的分布后，从这个分布中抽样10000次，对后验进行可视化。  \n\n*由于$\\pi$的取值只在 $\\{0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1\\}$ 之中，从上图中可以看到，$\\pi = 0.8$ 的后验概率显著高于其他点，所以大多数样本会集中在 $\\pi = 0.8$ 附近。"},{"cell_type":"code","metadata":{"collapsed":false,"id":"23BE779ECCC94DC8925C2CC39AC7EA04","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 设置随机种子\nset.seed(84735)\n\n# 从 posterior 分布中抽取 10000 个样本\nposterior_sample <- sample(\n  pi_grid, \n  size = 10000,\n  prob = posterior,  # R中使用prob参数指定概率\n  replace = TRUE\n)\n\n# 将抽取的样本存储在数据框中，列名为 \"pi_sample\"\nposterior_sample <- data.frame(pi_sample = posterior_sample)\n\n# 对 posterior_sample 中的样本进行计数，并转换为相对频率\nresult <- as.data.frame(table(posterior_sample) / nrow(posterior_sample))\ncolnames(result) <- c(\"pi_sample\", \"proportion\")\n\n","outputs":[],"execution_count":5},{"cell_type":"code","metadata":{"id":"6D6191AC672742EC83D76E6C8EA253FD","notebookId":"68d7f5f0641ee0c1d9bb01cc","jupyter":{},"collapsed":false,"scrolled":true,"tags":[],"slideshow":{"slide_type":"slide"},"trusted":true},"source":"str(posterior_sample)","outputs":[{"output_type":"stream","name":"stdout","text":"'data.frame':\t10000 obs. of  1 variable:\n $ pi_sample: num  0.75 0.75 0.8 0.85 0.75 0.8 0.8 0.8 0.75 0.8 ...\n"}],"execution_count":6},{"cell_type":"markdown","metadata":{"id":"08BF97D119D4488CA6E6ABAB4C6AE94D","notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"jupyter":{},"scrolled":false,"tags":[],"slideshow":{"slide_type":"slide"}},"source":"**抽样结果图示**  \n\n抽样结果显示，$\\pi$ 大多数集中在 0.80 附近，少部分在 0.75 和 0.85 附近。"},{"cell_type":"code","metadata":{"id":"FAA3672918964586A4BC3260F582EEFC","notebookId":"68d7f5f0641ee0c1d9bb01cc","jupyter":{},"collapsed":false,"scrolled":false,"tags":[],"slideshow":{"slide_type":"slide"},"trusted":true},"source":"posterior_sample %>%\n    ggplot2::ggplot(., aes(x=pi_sample)) + \n    geom_histogram() +\n    papaja::theme_apa() ","outputs":[{"output_type":"stream","name":"stderr","text":"\u001b[1m\u001b[22m`stat_bin()` using `bins = 30`. Pick better value `binwidth`.\n"},{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"JVBERi0xLjcKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nJ1TTWvcMBC9+1fMcffgyUgaaTTXQikEekhr6GEJJSTZ\n0JBN89HSv9+RbK+cdSHQNZbk0ZvZN09PDsie3tkQieH60D13DsrzcgdnVwR3rx1Nm+V9uYX9\nOjBmfPkEDl0KKgn+WOzc3vtudwmEBDedI/gMJ6lfuwt47pJiyAIRVQTYZ0whALOgs9lQ3+Bx\nReq9HGOJgZU8nM5WI2fM4oCDQ9IMzqNmmzDZODYkiqIBAoc6TwjLU/UjxAuhuAg+YSA3I5gS\ncp5kCcKYvFqVjMStCqPwVIVTxBgLFY8pHakQOicjoghEVTfTd2p+ITP9U+ZJHY4BHSkc4I1c\nD6Y7FdaaHKwXJtCHwepY55opTg45fkaHHEJUNtIJY3LRBxgO3dm+p57skIZ9t6HtcN/1pqj9\nVKBkS3YKw02323gi2l4O50Z+3CgK1B0+3ZlT0rzxcTDq5TDH1zRJAXkU0Aq1VudAaXaEBGdH\nlUODzIEGcapVoSNkDjRIDhiFG2L6rprOx7SSn9UcYDLNkfEE3rShEUMqOYqUk+UcAy3FZcUY\n4gLUIg3ljZLQslSLNFQQsUuwrNUiDcXiq3UbqkWWrfyvmewu5CSu3Byrm9mLrMy02xictn2y\nvbKM1QhOzIZq/qDRIYS5YfICk7PPDaTNRpXLxM9PxDz4GNGTUDBPqbEr9HRN6Wnbe9n8sDFv\nvtf161WdDk819lDH28nMpXBf/8RZyaCZGTwzRvaaavXd5vpnzf9dx8ea/mvmetH9BTqbKGgK\nZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCiAgIDU3MwplbmRvYmoKMyAwIG9iago8PAogICAv\nRXh0R1N0YXRlIDw8CiAgICAgIC9hMCA8PCAvQ0EgMSAvY2EgMSA+PgogICA+PgogICAvRm9u\ndCA8PAogICAgICAvZi0wLTAgNyAwIFIKICAgPj4KPj4KZW5kb2JqCjggMCBvYmoKPDwgL1R5\ncGUgL09ialN0bQogICAvTGVuZ3RoIDkgMCBSCiAgIC9OIDEKICAgL0ZpcnN0IDQKICAgL0Zp\nbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicM1Mw4IrmiuUCAAY4AV0KZW5kc3RyZWFt\n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\nFXjf8eEML++oJM5XUN3vxVPefi8T9qK1xFJrRH2toURfS7fZWgR0OPQe/Xx9i57T64v0M/Ur\n9G36U/qYXuMhWL+eXQE4EzBsRRV2Y3vX7BqXq6pbE6ObkcY3R8JWKa9G/orVdZK6VYLaujn+\nLsR7Axu3boVp2VVSSY1fCmYHqqQG6ohyJ0wdQ3aXFaYFQs2h5tUuuWC8A80uVygk91AeueI4\npYeuEKFpGhHRoHk1hFyhZgyFmiHUTPAQzqN+KAQhgoeQSKiGXAn+Q5xogXnEiD7N8SVCIaIL\nEZ9QYjnbPPgvGkDsGAplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2JqCiAgIDU2MzAKZW5kb2Jq\nCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+\nCnN0cmVhbQp4nF2STW/DIAyG7/wKH7tDlY+2ZJWiSFN3yWEfWrYfkILpIi0EkfSQfz8bV520\nQ/CDeV9MDNmpfW79sED2HifT4QJu8DbiPF2jQTjjZfCqKMEOZrnN0mjGPqiMzN06Lzi23k2q\nriH7oMV5iStsnux0xgcFANlbtBgHf4HN16mTVHcN4QdH9AvkqmnAoqPtXvrw2o8IWTJvW0vr\nw7Juyfan+FwDQpnmhRzJTBbn0BuMvb+gqvO8gdq5RqG3/9bKUixnZ777qOodS/OcAnEpXDLv\nhffMWlgTl5iYAuUryVfMB+ED86PwI/NR+EhcSa2Ka2nJa84fXGIKpNmJZseaQjQFsxW2zEbY\nMEtdzXW1eHXyyp467SmaKmnk/JrPX8k/UuBG3TrCLeO7vd+FucZI15AeQOo/d37weH8jYQrs\nSt8vUNah+QplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCiAgIDMyMwplbmRvYmoKMTUgMCBv\nYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvQUNPSllPK0xpYmVy\nYXRpb25TYW5zCiAgIC9Gb250RmFtaWx5IChMaWJlcmF0aW9uIFNhbnMpCiAgIC9GbGFncyAz\nMgogICAvRm9udEJCb3ggWyAtNTQzIC0zMDMgMTMwMSA5NzkgXQogICAvSXRhbGljQW5nbGUg\nMAogICAvQXNjZW50IDkwNQogICAvRGVzY2VudCAtMjExCiAgIC9DYXBIZWlnaHQgOTc5CiAg\nIC9TdGVtViA4MAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMiAxMSAwIFIKPj4KZW5kb2Jq\nCjcgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL1RydWVUeXBlCiAgIC9CYXNl\nRm9udCAvQUNPSllPK0xpYmVyYXRpb25TYW5zCiAgIC9GaXJzdENoYXIgMzIKICAgL0xhc3RD\naGFyIDExNwogICAvRm9udERlc2NyaXB0b3IgMTUgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5z\naUVuY29kaW5nCiAgIC9XaWR0aHMgWyAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc3\nLjgzMjAzMSAwIDU1Ni4xNTIzNDQgMCA1NTYuMTUyMzQ0IDAgNTU2LjE1MjM0NCA1NTYuMTUy\nMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCAwIDAg\nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgMCA1NTYuMTUyMzQ0IDAgNTU2LjE1MjM0NCAwIDUwMCAwIDU1Ni4xNTIz\nNDQgMCAwIDAgMjIyLjE2Nzk2OSAwIDAgMjIyLjE2Nzk2OSA4MzMuMDA3ODEyIDU1Ni4xNTIz\nNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDAgMCA1MDAgMjc3LjgzMjAzMSA1NTYuMTUyMzQ0\nIF0KICAgIC9Ub1VuaWNvZGUgMTMgMCBSCj4+CmVuZG9iagoxMCAwIG9iago8PCAvVHlwZSAv\nT2JqU3RtCiAgIC9MZW5ndGggMTggMCBSCiAgIC9OIDQKICAgL0ZpcnN0IDIzCiAgIC9GaWx0\nZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nFWRwWuDMBTG7/4V7zLQS01sdLZID1UoYwzE\n7tSxQ4gPGxhGkjjW/35JrB0j5PB+fO9930sokIgWkJMoA8qKiD7DtthFVQXp+21CSFs+oIkA\nIH2VvYEPyIBAB58B1WoeLdDocAgdrVb9LFBDLLjUCuiGlhsG8dXayezTNNBB8+kqhdkoPSTJ\nMkYjt1KNDbcIcbPPSJaTXVaSklHGLsk6/y8RPDlX39pyjT6CDxXAG/aSH9WPS0rcyQkLd807\nWic3wB76k1bzBFXlC18vHoGu6Oyo5qOZvJe4rfgFrJ5xrWqnavBbCuxORw9dZs87NGrWAg1s\nH55n1yjsEt24D/i3Xs0t/1LDfTv3+PflnOgXpL9uKwplbmRzdHJlYW0KZW5kb2JqCjE4IDAg\nb2JqCiAgIDI3NQplbmRvYmoKMTkgMCBvYmoKPDwgL1R5cGUgL1hSZWYKICAgL0xlbmd0aCA4\nMAogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvU2l6ZSAyMAogICAvVyBbMSAyIDJdCiAg\nIC9Sb290IDE3IDAgUgogICAvSW5mbyAxNiAwIFIKPj4Kc3RyZWFtCnicY2Bg+P+fiYGLgQFE\nMDEyrWdgYGTgBxJMM0FiHECWzHMgwSwDIuYBCXlVEGszkJASBBGaQEJ6N4i4BDGFEUQwMyqs\nBYopHGFgAAAULgpHCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjgzODgKJSVFT0YK","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/FAA3672918964586A4BC3260F582EEFC/t3aitllsvv.svg\">"},"metadata":{"image/png":{"width":420,"height":420},"image/jpeg":{"width":420,"height":420},"image/svg+xml":{"width":420,"height":420,"isolated":true},"application/pdf":{"width":420,"height":420}}}],"execution_count":7},{"cell_type":"markdown","metadata":{"id":"3E4CBB380DE241FBBDC874B4D6196912","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**抽样结果图示**  \n\n可以将抽样得到的后验分布与理论上的 Beta 分布 $Beta(160, 40)$ 进行对比，以检验抽样的准确性。  "},{"cell_type":"code","metadata":{"collapsed":false,"id":"76BAC1FA033D48629D3088D65EF9C057","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"## 对通过公式得到的beta分布进行可视化，注意，这里也会涉及到生成随机概率密度的过程，\n## 但是我们是直接从后验分布中计算后验概率，没有上述的计算后验过程\n\n# 生成10000个点，范围在[0, 1]之间\nx_beta <- seq(0, 1, length.out = 10000)\n# 根据理论的后验分布Beta(160, 40)获得概率密度值\ny_beta <- dbeta(x_beta, 160, 40)\n# 转换为数据框用于ggplot2绘图\nbeta_data <- data.frame(x = x_beta, y = y_beta)\n\n# 绘制共轭方法计算得到的后验beta(160,40)和网格方法抽样结果\noptions(repr.plot.width=10, repr.plot.height=5) #自定义画布大小\nggplot2::ggplot() +\n  # 绘制Beta分布曲线 \n  ggplot2::geom_line(\n    data = beta_data,\n    ggplot2::aes(x = x, y = y, color = \"posterior distribution (theoretical)\"),\n    linewidth = 1) +\n  # 绘制网格搜索后验样本的直方图\n  ggplot2::geom_histogram(\n    data = posterior_sample,  # 使用之前创建的posterior_sample数据框\n    ggplot2::aes(x = pi_sample, y = ..density.., fill = \"posterior distribution (grid, 11 points)\"),\n    color = \"black\",\n    alpha = 0.5,\n    bins = 40) +  # 控制直方图的箱数\n  # 统一设置填充色和线条色的图例\n  ggplot2::scale_color_manual(values = \"#4169E1\") +\n  ggplot2::scale_fill_manual(values = \"#E28903\") +\n  ggplot2::labs(x = NULL, y = NULL, color = NULL, fill = NULL) +\n  scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa() +\n  # 设置图例位置\n  theme(legend.position = \"right\")","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"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\nfvtNtfZLl7GoX70U8I98Bn+Pv/8dfj+exl9f/xf4JS+rCmVuZHN0cmVhbQplbmRvYmoKNSAw\nIG9iagogICAxMTg5MwplbmRvYmoKMyAwIG9iago8PAogICAvRXh0R1N0YXRlIDw8CiAgICAg\nIC9hMCA8PCAvQ0EgMSAvY2EgMSA+PgogICAgICAvYTEgPDwgL0NBIDAuNTAxOTYxIC9jYSAw\nLjUwMTk2MSA+PgogICA+PgogICAvRm9udCA8PAogICAgICAvZi0wLTAgNyAwIFIKICAgPj4K\nPj4KZW5kb2JqCjggMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDkgMCBSCiAg\nIC9OIDEKICAgL0ZpcnN0IDQKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnic\nM1Mw4IrmiuUCAAY4AV0KZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCiAgIDE2CmVuZG9iagox\nMSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAv\nTGVuZ3RoMSA4Njg0Cj4+CnN0cmVhbQp4nN05a3hTVbZrnXPybJtXkzQ0pTnpaQvSQktDwWKh\nR2hjsSopUEmKQCoFCj4opDLggwaBsQaRqqhTcaCfbxDhFCoUgbE6o4MCY9XxOnfQob5mHJUp\nF18zYJO7zklaCl7nft/ce//cnexz9l5777XXe6+dAAKAHsLAAr/glrrGk+3bdACmLgCmdsHK\nJv7qP1adA0i1Ur9lUePiW9bU7TcD2B4H0HQuvnn1oquPbXqZMOyiNckNC+vqk2BjB8BwH8HG\nNxAgZQv7C+q3UD+74ZamVQtHJ62kPs2Hm29etqAO4C0RINNB/cZb6lY1shH2U+rL8/nGFQsb\n+3dfNY36zwGwU4GBEwCqItVaolYDLjGFUatYNavTqliOQGUnCk6YLVhSYvaYPWMLU91md6rZ\nbT7BLTy/9Rr2hGrtuWZV8fk07q+EnHD5Yl9xguoRSII0GClaLepkUINjmM4YCug0rC0UYIdB\nWR44yvKGIEUTI2QxZpPFXWRhB9qeIgsn/OPrr785jfCP0wc2PfHMAw+1b9/CvBLdHr0PV+AC\nvAmXRh+MtuFYtETPRo9Ffx/9AjMAgeTIGYkfPeSJVk7LMEnJKo5j1WotAjYFwEEUmMHjKPN4\nCjwyGWYPEeEpdptVxTkes9v2OC6OvorXPoOz27jST3Z+dt7RBoR3MeFNJt4yYbLIZ4DBqLUN\ntxmBc/HaDIPFkhQKWDQIGZAxsIcFShzKVpYS2iZN4dasbDVZVTwuV8hSa0ZMRk+R3WY1oIa+\nbttiz0NPbA9Pb1kdejily/r9q+99VrXl7VBLJnOq+bZ9D9x5Z8v1TeG7lpt3HH3j4Iwnntg5\n71EvkUa0HaLHGjhJCksT9SwRqgLcOgegIC/OoLypx3bo1ydPgjJ/BulpOMkoA+aJxZZUR5rV\nCqkatSM1GcCequaGZ6aTytLTWas1rSlgJXsIBRZr0K7BkGadhtHIavTMnTs3oUpiVNlpgEez\npUR5kG6tIGTljphg9xSNT/AspLptbnY88c0Nj37/5Wtn+f0lXz3w1NP3TVtTJhWw7v51ztt2\n93yPx07FYNeTtrf3tG14aswE5ru26JW13xDtSxQ9rCUbGyVatZxKBTodJKeATq9rCujVHMle\nkXrcwmRKiogOPWMTTBZ0F7u55D/sDRz+DJP7k9gnub7o/mgkuuXXaGBqcEMb2fD66GxuOHct\nWXA2zBUnOMBl1mp1oMvNMXM2xub0BWymZKPWyWT5AoxdysWyXGzNxcZcdOViLBd7c7E7F0k4\ny5cvX7Eibu5lcSmVDFp9wvDdWSMEu80smMeN8GQyNo9sDhZWlpMBbVZZaCSjFeeuV3Gd6t3I\nqbjCbWuPvn7k9g03rS5rafv5HUxW/5uHtU9EAyr1s+O5sYtS6+dGv4l++PGrtS+3vffma4pP\nXi/rmruO/MEOlWK+WZ1EPpnm0Bp8Aa2JtfoCrL3dga0ODDuw0YFBB/ocWOjAUw6UWZDLT/us\nO0GueoDac387fRY/+/sXRzb8ctumjQ8/sZHJjH5KnulGM1MY7Yt+1HvsrQ/+7f2euB2WxL5i\n93NVMArqxVKNOsuW4UwBcNrUXF5+ShbrcLh8gQyHidX7AhrWbspHyMcz+dibj935GMzHcD6W\n5SPB4+JW5O2RafUMynvQJmWqrWrFGjMxbo4FOIYpHiebYppmDCpcZGJaJsvu/0vPmyfd29Na\nw/c2+29cu3Xd1e++ue/djCeM6269valw3qOb10wbiXltz2zY5JpdPWuW6EvPGnntrb4tW9ds\ntFZee3XVmNJROdmTrq6TeXTFzjCjVPlghQoxO8VqTTIadRxntxlUWpUvkGTUYTKrE7VGxiLb\n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\nPrz2I8oii7etTffDsm6T7C/jcw0oVT5X3JKZLM6hNxh7f0FRl2Uja+cagd7+u1PAkrMz330U\n9Y5SyzKFhCvGFWHFWCWsMOMUEn9g/kBYM9YJa/bR5AMu4xQSv2N+R3jPeE857APko7mWplpw\nZP5IddlTZU/WQtZyPlC+Zh9NPsB9AvWpHln7SDz3CdSnMswbwlxLUS3gfMj53DNQz8AzAZoJ\nsDYFGuxtgjRiegv33ZlrjGlt+cHkfdGmBo/3NxWmQKr8/QLq8qrJCmVuZHN0cmVhbQplbmRv\nYmoKMTQgMCBvYmoKICAgMzQ1CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvRm9udERlc2Ny\naXB0b3IKICAgL0ZvbnROYW1lIC9XQkRUSkorTGliZXJhdGlvblNhbnMKICAgL0ZvbnRGYW1p\nbHkgKExpYmVyYXRpb24gU2FucykKICAgL0ZsYWdzIDMyCiAgIC9Gb250QkJveCBbIC01NDMg\nLTMwMyAxMzAxIDk3OSBdCiAgIC9JdGFsaWNBbmdsZSAwCiAgIC9Bc2NlbnQgOTA1CiAgIC9E\nZXNjZW50IC0yMTEKICAgL0NhcEhlaWdodCA5NzkKICAgL1N0ZW1WIDgwCiAgIC9TdGVtSCA4\nMAogICAvRm9udEZpbGUyIDExIDAgUgo+PgplbmRvYmoKNyAwIG9iago8PCAvVHlwZSAvRm9u\ndAogICAvU3VidHlwZSAvVHJ1ZVR5cGUKICAgL0Jhc2VGb250IC9XQkRUSkorTGliZXJhdGlv\nblNhbnMKICAgL0ZpcnN0Q2hhciAzMgogICAvTGFzdENoYXIgMTE3CiAgIC9Gb250RGVzY3Jp\ncHRvciAxNSAwIFIKICAgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKICAgL1dpZHRocyBb\nIDI3Ny44MzIwMzEgMCAwIDAgMCAwIDAgMCAzMzMuMDA3ODEyIDMzMy4wMDc4MTIgMCAwIDI3\nNy44MzIwMzEgMCAyNzcuODMyMDMxIDAgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIz\nNDQgMCAwIDU1Ni4xNTIzNDQgMCA1NTYuMTUyMzQ0IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw\nIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw\nIDAgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAw\nIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAyMjIuMTY3OTY5IDAgMCAyMjIuMTY3OTY5IDAgNTU2\nLjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCAzMzMuMDA3ODEyIDUwMCAyNzcuODMy\nMDMxIDU1Ni4xNTIzNDQgXQogICAgL1RvVW5pY29kZSAxMyAwIFIKPj4KZW5kb2JqCjEwIDAg\nb2JqCjw8IC9UeXBlIC9PYmpTdG0KICAgL0xlbmd0aCAxOCAwIFIKICAgL04gNAogICAvRmly\nc3QgMjMKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicVZFRa4MwFIXf/RX3\nZaAvmqSptUX6UIUyxkDaPW3sIcSLDQwjSRzrv1+i1THydD/OzTknoUAimsOWRAwozyO6g02+\nj8oSsrf7gJA1okMbAUD2oloLH8CAwAU+J1TpsXdAo+Nx2miMbkeJBmIplNFAU1qkHOKbc4M9\nZNlEOyOGm5I21aZLkvkag8Ip3dfCIcT1gRG2JXtWkIJTzt+T5f6/RPDkXcNqIwyGCCHUBF6x\nVeKkf3xS4s+OEV+IrHl75+UW+Ko/Gz0OUJZhCPPsMdEFXT01ordD8JL3BT+DMyMuU+VVNX4r\niZfzKUCfOfALWj0aiRY2q+fVL0o3R7f+A/7Vq4QTX7p7tPOP/yjnRb+kx24rCmVuZHN0cmVh\nbQplbmRvYmoKMTggMCBvYmoKICAgMjc1CmVuZG9iagoxOSAwIG9iago8PCAvVHlwZSAvWFJl\nZgogICAvTGVuZ3RoIDgxCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCiAgIC9TaXplIDIwCiAg\nIC9XIFsxIDIgMl0KICAgL1Jvb3QgMTcgMCBSCiAgIC9JbmZvIDE2IDAgUgo+PgpzdHJlYW0K\neJxjYGD4/5+JgYuBAUQwMeq9ZGBgZOAHEnoXQWIcQJbnfiCh3wAkDJiAhI8iiCUOJNwug4jX\nQMJjMohYBTGFEUQwM/quBIr5HmBgAACYtw0pCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVm\nCjE5OTA0CiUlRU9GCg==","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/76BAC1FA033D48629D3088D65EF9C057/t3aitll7od.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":8},{"cell_type":"markdown","metadata":{"id":"7F0DD4F0D4F94C6489CABFD72A595968","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**增加网格数**  \n\n* 上述结果是过度简化的“后验分布”。刚刚提过，取的网格越多，对后验的估计会更准确。  \n\n* 那么，现在$\\pi$不取11个值，而是在0~1之间取101个值$\\pi \\in \\{0, 0.01, 0.02, \\ldots, 0.99, 1\\}$  \n\n* 同样的，我们执行上述四个步骤："},{"cell_type":"code","metadata":{"collapsed":false,"id":"5F36F92F903A4DF7B67C1F564F63DD9E","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 生成101个点，范围在[0, 1]之间\npi_grid <- seq(0, 1, length.out = 101)\n\n# 生成Beta(70,30)先验分布\nprior <- dbeta(x = pi_grid, shape1 = 70, shape2 = 30)\n\n# 生成二项分布似然函数，参数为n=100，k=90\nlikelihood <- dbinom(x = 90, size = 100, prob = pi_grid)\n\n# 计算后验概率\nunstd_posterior <- prior * likelihood\n# 归一化后验概率\nposterior <- unstd_posterior / sum(unstd_posterior)\n\n# 创建数据框用于绘图\ndf <- data.frame(pi = pi_grid, posterior = posterior)","outputs":[],"execution_count":9},{"cell_type":"code","metadata":{"collapsed":false,"id":"BF7FF5F60A93496AA0892AA8BD8F5F99","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 画图\nggplot2::ggplot(df, ggplot2::aes(x = pi, y = posterior)) +\n  ggplot2::geom_segment(ggplot2::aes(xend = pi, yend = 0), color = \"#1f77b4\") + # 添加茎线\n  ggplot2::geom_point(color = \"#1f77b4\", size = 2) +  # 添加顶部点\n  ggplot2::scale_y_continuous(expand = c(0, 0), limits = c(0, 0.3)) +\n  ggplot2::theme(\n    panel.grid.minor = ggplot2::element_blank(),\n    axis.line.x = ggplot2::element_line(color = \"black\"),\n    axis.line.y = ggplot2::element_line(color = \"black\")\n  ) +\n  ggplot2::labs(x = \"\", y = \"\", title = \"Grid Approximation (101 points)\")+\n  papaja::theme_apa()","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"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\nd41UJr0qul5DRHoc9ISnJ+elGfYs54c3CA0hfX+scfo/rbAjoiuicN8CnrtVL6pMd5WGCmDT\nkel0VWUGp205rYiuqkx3lQumvN+ErqrM4MrReoALY41Pmy0U+quw5rJ68DVWhP35H2+hkmrh\ngwo73ADDjr9R9n2/se8t499TRtJ9sB4lqUU+NAMx4jxxll+hijihs+PMKjygqCz+a5L/xbPa\nn3591vvTv57f2KfvnpV72p7t/vSn5zfSPP37WVn84fI1P+O//vf8hi5/+RZ//5/n2xv4KzE/\nI/FTtoLkN09YTiKx4w+Jv8+/SmaTxVQyFUqm3NNv6RbfPJPDX97+D+G4bZ0KZW5kc3RyZWFt\nCmVuZG9iago1IDAgb2JqCiAgIDQ3NzYKZW5kb2JqCjMgMCBvYmoKPDwKICAgL0V4dEdTdGF0\nZSA8PAogICAgICAvYTAgPDwgL0NBIDEgL2NhIDEgPj4KICAgPj4KICAgL0ZvbnQgPDwKICAg\nICAgL2YtMC0wIDcgMCBSCiAgID4+Cj4+CmVuZG9iago4IDAgb2JqCjw8IC9UeXBlIC9PYmpT\ndG0KICAgL0xlbmd0aCA5IDAgUgogICAvTiAxCiAgIC9GaXJzdCA0CiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nDNTMOCK5orlAgAGOAFdCmVuZHN0cmVhbQplbmRvYmoK\nOSAwIG9iagogICAxNgplbmRvYmoKMTEgMCBvYmoKPDwgL0xlbmd0aCAxMiAwIFIKICAgL0Zp\nbHRlciAvRmxhdGVEZWNvZGUKICAgL0xlbmd0aDEgODQ0OAo+PgpzdHJlYW0KeJzlOW1gVNWx\nM/fe/Uxu9iO7m5UN7N3cJHxsIGGXBIORvUKyBqOSkAR2gyEbCF9+QGSjD/yAUFDjIhIUaVNU\nUkRbKMINIMSCNdrWosATtdZa9BGt9kOhsYi2lWb3zb27CWhrf7z3/r2TvfecmTlnZs7MnLlz\nABAAjNAOLAgLbmtuPX3TE58CmM4CMA0L7mwTrvtt1VcA1kqCOxa1Lr5tdfMhC4DtFIDu4OJb\nVy3q2vHX3xKHPbRGWrKwuSUNNvQAZK8nXMkSQvBb2C0EHyU4d8ltbSsbR+ufIrif4JtuXb6g\nGWA78RpZRnDktuaVrez97EcEP06w0LpiYevg3mtnEEzr2enAwEkAjU+zlrTVgVviGa2G1bIG\n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\n6r3IornblhWn1tlZ1DVkH3FyWcMGuyczD/ggACB7CwbD6C6w+zp3LHVX739wQrdCLpoGDNq4\n3EvvX/sJIUvmfWvi/Lhu+2j7y/jcPIJM44K3pGeDi+81ht5dUNR53kBtbSPQmX9zUrJlsPq7\nD6I+UGqexyBqiYljiHrBekEsmSXxkflIrJhV5JK5JFacryi/ekwcQ+SSuaRaXFdS3ZJrlVRL\nsa5IryznW9JPrJ9IN6wbYvZWycvrK1q/4rNUdBbJXkledeCcA+m8txioUbeOUMvobu93oa8h\nxGtIDyD1nzo/Ory/ET97cqXvF9/PoR0KZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iagogICAz\nMjYKZW5kb2JqCjE1IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvcgogICAvRm9udE5h\nbWUgL09BS1pHSytMaWJlcmF0aW9uU2FucwogICAvRm9udEZhbWlseSAoTGliZXJhdGlvbiBT\nYW5zKQogICAvRmxhZ3MgMzIKICAgL0ZvbnRCQm94IFsgLTU0MyAtMzAzIDEzMDEgOTc5IF0K\nICAgL0l0YWxpY0FuZ2xlIDAKICAgL0FzY2VudCA5MDUKICAgL0Rlc2NlbnQgLTIxMQogICAv\nQ2FwSGVpZ2h0IDk3OQogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgwCiAgIC9Gb250RmlsZTIg\nMTEgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9Gb250CiAgIC9TdWJ0eXBlIC9U\ncnVlVHlwZQogICAvQmFzZUZvbnQgL09BS1pHSytMaWJlcmF0aW9uU2FucwogICAvRmlyc3RD\naGFyIDMyCiAgIC9MYXN0Q2hhciAxMjAKICAgL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgogICAv\nRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwogICAvV2lkdGhzIFsgMjc3LjgzMjAzMSAwIDAg\nMCAwIDAgMCAwIDMzMy4wMDc4MTIgMzMzLjAwNzgxMiAwIDAgMCAwIDI3Ny44MzIwMzEgMCA1\nNTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDAgNTU2LjE1MjM0NCAwIDU1Ni4x\nNTIzNDQgMCAwIDAgMCAwIDAgMCAwIDAgNjY2Ljk5MjE4OCAwIDAgMCAwIDAgNzc3LjgzMjAz\nMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1\nNi4xNTIzNDQgMCAwIDU1Ni4xNTIzNDQgMCAwIDAgMCAyMjIuMTY3OTY5IDAgMCAwIDgzMy4w\nMDc4MTIgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCAzMzMuMDA3ODEyIDUw\nMCAyNzcuODMyMDMxIDAgMCAwIDUwMCBdCiAgICAvVG9Vbmljb2RlIDEzIDAgUgo+PgplbmRv\nYmoKMTAgMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDE4IDAgUgogICAvTiA0\nCiAgIC9GaXJzdCAyMwogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxVkUFr\nhDAQhe/+irkU9KJJVl13kT2swlJKQdyeWnoIcXADxUgSS/ffN9HVUnKajzd57yUUSEBzyEjA\ngKZ5QPewyw9BWULydh8Rkob3aAIASF5kZ+ADGBBo4XNGlZoGCzQ4neaNRqtuEqghFFxqBTSm\nRZxCeLN2NMckmWmv+XiTwsRK91G0XKORW6mGmluEsD4ywjJyYAUpUppm79F6/18ieHKufrXh\nGn0EH2oGr9hJflY/LilxZ8+IK0S2vIN1cgPppr9oNY1Qln7w8+Ix0xVdHdV8MKP3EvcVP4PV\nE65T5VQ1fkuB7eXsocvseYtGTVqggd3meXWLwi7RjfuAf/UqbvmX6h/t3OM/yjnRL6XSbiwK\nZW5kc3RyZWFtCmVuZG9iagoxOCAwIG9iagogICAyNzUKZW5kb2JqCjE5IDAgb2JqCjw8IC9U\neXBlIC9YUmVmCiAgIC9MZW5ndGggNzkKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1Np\nemUgMjAKICAgL1cgWzEgMiAyXQogICAvUm9vdCAxNyAwIFIKICAgL0luZm8gMTYgMCBSCj4+\nCnN0cmVhbQp4nGNgYPj/n4mBi4EBRDAxCkszMDAy8AMJYRaQGAeQpWsK4nYACRGgOkb9ShBL\nHkhoxYCIEiChwwkiFCCmMIIIZkZDRqCYoQQDAwCNdQa3CmVuZHN0cmVhbQplbmRvYmoKc3Rh\ncnR4cmVmCjEyNTY4CiUlRU9GCg==","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/BF7FF5F60A93496AA0892AA8BD8F5F99/t3aitmgg4f.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":10},{"cell_type":"markdown","metadata":{"id":"03D49EBE749B4198A1CBB255D3B64B64","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"可以看到，在此次的抽样中，$\\pi$的取值更加多样"},{"cell_type":"code","metadata":{"collapsed":false,"id":"6E1425737CD745FE8690889F227157B3","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":true,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"set.seed(84735)\n\n# 从 posterior 分布中抽取 10000 个样本\nposterior_sample <- dplyr::tibble(\n  pi_sample = sample(\n    x = pi_grid,  # 待抽样的向量\n    size = 10000, # 样本量\n    prob = posterior,  # 每个元素被抽中的概率\n    replace = TRUE  # 有放回抽样\n  )\n)\n\n# 对样本进行计数并转换为相对频率\nresult <- posterior_sample %>%\n  dplyr::count(pi_sample) %>%  # 计数\n  dplyr::mutate(relative_frequency = n / sum(n)) %>%  # 计算相对频率\n  dplyr::select(pi_sample, relative_frequency)  # 选择需要的列\n\nhead(result, n = 20)","outputs":[{"output_type":"display_data","data":{"text/html":"<table class=\"dataframe\">\n<caption>A tibble: 20 × 2</caption>\n<thead>\n\t<tr><th scope=col>pi_sample</th><th scope=col>relative_frequency</th></tr>\n\t<tr><th scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th></tr>\n</thead>\n<tbody>\n\t<tr><td>0.67</td><td>0.0001</td></tr>\n\t<tr><td>0.69</td><td>0.0001</td></tr>\n\t<tr><td>0.70</td><td>0.0005</td></tr>\n\t<tr><td>0.71</td><td>0.0016</td></tr>\n\t<tr><td>0.72</td><td>0.0039</td></tr>\n\t<tr><td>0.73</td><td>0.0071</td></tr>\n\t<tr><td>0.74</td><td>0.0160</td></tr>\n\t<tr><td>0.75</td><td>0.0305</td></tr>\n\t<tr><td>0.76</td><td>0.0490</td></tr>\n\t<tr><td>0.77</td><td>0.0738</td></tr>\n\t<tr><td>0.78</td><td>0.1025</td></tr>\n\t<tr><td>0.79</td><td>0.1257</td></tr>\n\t<tr><td>0.80</td><td>0.1435</td></tr>\n\t<tr><td>0.81</td><td>0.1346</td></tr>\n\t<tr><td>0.82</td><td>0.1168</td></tr>\n\t<tr><td>0.83</td><td>0.0867</td></tr>\n\t<tr><td>0.84</td><td>0.0588</td></tr>\n\t<tr><td>0.85</td><td>0.0288</td></tr>\n\t<tr><td>0.86</td><td>0.0138</td></tr>\n\t<tr><td>0.87</td><td>0.0048</td></tr>\n</tbody>\n</table>\n","text/markdown":"\nA tibble: 20 × 2\n\n| pi_sample &lt;dbl&gt; | relative_frequency &lt;dbl&gt; |\n|---|---|\n| 0.67 | 0.0001 |\n| 0.69 | 0.0001 |\n| 0.70 | 0.0005 |\n| 0.71 | 0.0016 |\n| 0.72 | 0.0039 |\n| 0.73 | 0.0071 |\n| 0.74 | 0.0160 |\n| 0.75 | 0.0305 |\n| 0.76 | 0.0490 |\n| 0.77 | 0.0738 |\n| 0.78 | 0.1025 |\n| 0.79 | 0.1257 |\n| 0.80 | 0.1435 |\n| 0.81 | 0.1346 |\n| 0.82 | 0.1168 |\n| 0.83 | 0.0867 |\n| 0.84 | 0.0588 |\n| 0.85 | 0.0288 |\n| 0.86 | 0.0138 |\n| 0.87 | 0.0048 |\n\n","text/latex":"A tibble: 20 × 2\n\\begin{tabular}{ll}\n pi\\_sample & relative\\_frequency\\\\\n <dbl> & <dbl>\\\\\n\\hline\n\t 0.67 & 0.0001\\\\\n\t 0.69 & 0.0001\\\\\n\t 0.70 & 0.0005\\\\\n\t 0.71 & 0.0016\\\\\n\t 0.72 & 0.0039\\\\\n\t 0.73 & 0.0071\\\\\n\t 0.74 & 0.0160\\\\\n\t 0.75 & 0.0305\\\\\n\t 0.76 & 0.0490\\\\\n\t 0.77 & 0.0738\\\\\n\t 0.78 & 0.1025\\\\\n\t 0.79 & 0.1257\\\\\n\t 0.80 & 0.1435\\\\\n\t 0.81 & 0.1346\\\\\n\t 0.82 & 0.1168\\\\\n\t 0.83 & 0.0867\\\\\n\t 0.84 & 0.0588\\\\\n\t 0.85 & 0.0288\\\\\n\t 0.86 & 0.0138\\\\\n\t 0.87 & 0.0048\\\\\n\\end{tabular}\n","text/plain":"   pi_sample relative_frequency\n1  0.67      0.0001            \n2  0.69      0.0001            \n3  0.70      0.0005            \n4  0.71      0.0016            \n5  0.72      0.0039            \n6  0.73      0.0071            \n7  0.74      0.0160            \n8  0.75      0.0305            \n9  0.76      0.0490            \n10 0.77      0.0738            \n11 0.78      0.1025            \n12 0.79      0.1257            \n13 0.80      0.1435            \n14 0.81      0.1346            \n15 0.82      0.1168            \n16 0.83      0.0867            \n17 0.84      0.0588            \n18 0.85      0.0288            \n19 0.86      0.0138            \n20 0.87      0.0048            "},"metadata":{}}],"execution_count":11},{"cell_type":"code","metadata":{"id":"239F78BE80EE4F7B92897063BDF1B1BB","notebookId":"68d7f5f0641ee0c1d9bb01cc","jupyter":{},"collapsed":false,"scrolled":false,"tags":[],"slideshow":{"slide_type":"slide"},"trusted":true},"source":"posterior_sample %>%\n    ggplot2::ggplot(., aes(x=pi_sample)) + \n    geom_histogram(bins = 50) +\n    papaja::theme_apa() ","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"JVBERi0xLjcKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nJ1VyYobMRC991fo6Dm4phat10AIBHKYxJCDGUKYjQzj\n7CG/nyepN9tZIDbutqufSlWv3pPFMd5bwcUiu5vD8GUQV99fH9zle3YP34aKSNoBX+/c/Xmg\nr3j9wglJtJKi+4nYS3weh/21Y2J3Owi7V+5k6Zvhyn0ZYiHLyQUqKbnoPUUzZ2wkuAP11n08\nK+pfa1AlmS+s7vSOHCVTLOK0BBKPvEJJCgCCYG/IBwrpb4DMlMwD4cnSClHiiFD2JGBCi5KG\nPCGMOPkRoYmiYJecKHs/IRL5nEdEEOJQgBAUXCaEWOu2Q3IkRUwjKOAwb4PyNHWIcaGIQixS\nijohQq4ddoCBNjCjLKQ2F4LWuIyVWIgUvDkJ2JuXSjzuOpZiqVDJvrLry7yPlIjuOsJL5TM4\nJCkLrYokNhHrDXXliGWUFtY01XlMWaISozmriRcIGvLzRjmQj+AS/NmykWJYPG4UlBuLopmy\nxbncGFF9HDHQVR2XZCUvMzEiSkVGZkJMFAT0esgcVEz0BmxVRkiBLqqcYt1qZkZBaQdEfJWm\nhHqfc5Q22Y7whUJVQrEWnFI0eEcka2pcscYLZ9Vm3NwHl44WWpmVf2vW0WNVP4JeDu7IdE9w\nL1c+q+TPv8Bmz3bIQ6mUDGH2c2b+CWV7s1CqhWr6bJDa7jBc3m95y7D67n7Y8MXucdiiTrww\nRrBXOKO/3e2w3wTmi+vdy2GLNvGCwo+fC48APn0wrXy+QwP1YOgfMBMNc262N8xpbngK1JY7\nRFC0yQoyBVYQHEYY1woyBhZIIk0rQP/ZeJ1GdTaCJL7JbIr0KRw1UdWaIyBwG8NKhyWyWmQ4\nRarrFtQcWaG8h1Wh/AU1R1YoyIy8X+eaIytUwolYYlih5shRM/8rKUlKFg2HpbNqaq8JdJ5o\nar8Bvo8fLkYZjDODuzDwJCxPQlJdnuQ/rsl/XFMWmbVax/p1LFxxgkERnOoRZQGZcqy2Pav4\n88VW0+YDrnnzrn3/9r7dDp9b7Kld70ax18TbtgmkUm1V/1pATfBaYsu+39x8aut/tOvHtvz7\nVOvV8AtcG6XYCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iagogICA3OTkKZW5kb2JqCjMgMCBv\nYmoKPDwKICAgL0V4dEdTdGF0ZSA8PAogICAgICAvYTAgPDwgL0NBIDEgL2NhIDEgPj4KICAg\nPj4KICAgL0ZvbnQgPDwKICAgICAgL2YtMC0wIDcgMCBSCiAgID4+Cj4+CmVuZG9iago4IDAg\nb2JqCjw8IC9UeXBlIC9PYmpTdG0KICAgL0xlbmd0aCA5IDAgUgogICAvTiAxCiAgIC9GaXJz\ndCA0CiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nDNTMOCK5orlAgAGOAFd\nCmVuZHN0cmVhbQplbmRvYmoKOSAwIG9iagogICAxNgplbmRvYmoKMTEgMCBvYmoKPDwgL0xl\nbmd0aCAxMiAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL0xlbmd0aDEgODIxMgo+\nPgpzdHJlYW0KeJzdOW1gU0W259x789WvJG2ShqaQm15aCim0NBQoVnKlbShWJKUUkiKQQkFA\nhEKKgq40fCkEuq2K7EMQuoquIMotIBTUtaury4I8u28/9C2yVFd33VW2iF+7YJN37k1airv6\n47399SaduXPOmTlzvubMDAACQAKEgAV+wd11DeedT3wGoDcAMLUL7mnkb/195VUA4zKCtyxq\nuPPudXXHjQBpXwBojt25bO2iK/cuXEIcDgGk1C9eWFefCNvaAWzPEm7sYkIk72AfIbib4KGL\n725cM3ODlmiZHMEzlq1YUAfQQrRMH8G+u+vWNLCb2A8JlgjmG1YtbOh9YfIUgrsA2FJg4ByA\nqlC1nqTVgF1MZtQqVs3qtCqWI5T7XP45YyoWFxtdRtfogjSH0ZFmdBjPcQuv7b6NPadaf7VJ\nVXQtnfsLMSde3uinnKDaCYmQDrmiKVWdBGqwDtLpg36dhjUH/ewgcDvB6nYOYIoGRshijIZU\nR2Eq29d3FaZywj8+//yLSwj/uHSi+clnHn60bd8O5meRfZHtuAoX4F24NPJIZBeOxtTIlcjZ\nyG8if8VMQJhOMgwmfTJhrliUmmZNN5kgTaO2piUBWNLU3OAhGSRORgZrMqU3+k2ka9B/pwYt\nGgxqNmoYjSyia86cOXExodiaL0ubrkhLv9RipSG5TSBk5QwbZ3EVji0akyNkqTVCmsPsYMe6\nCi3c4MjXn7xxhT9e/OnD+5/ePmWdW8pnHb0bbatf6Poaz16MwqGnzL86vGvz/lHjmK92RW6p\n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\ngirswNb2GdVOZ2WHJko3IY13toRbpOxquRWraiX1Fglqamf72hF/6N/c3AyTBldKhdU+KTDY\nXynVU0eUOyHqGAa3W2CSP9gYbFztlAvGOtDodAaDcg9lyBmjKT10BolMw2gSAY2rIegMNmIw\n2AjBRsIHcS71g0EIEj6INIVq0Bnn38+JFphLjKhpjC0RDNK8IPEJxpezzoX/AUinh2UKZW5k\nc3RyZWFtCmVuZG9iagoxMiAwIG9iagogICA1MzMzCmVuZG9iagoxMyAwIG9iago8PCAvTGVu\nZ3RoIDE0IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxdkk1vwyAM\nhu/8Ch+7Q5WPtmSVokhTd8lhH1q2H5CC6ZAWggg95N8P46qTdkj8YN7XOCbFqX/unY1QvIdZ\nDRjBWKcDLvM1KIQzXqwTVQ3aqnhb5beaRi+KZB7WJeLUOzOLtoXiI20uMaywedLzGR8EABRv\nQWOw7gKbr9PAqeHq/Q9O6CKUoutAo0nlXkb/Ok4IRTZve532bVy3yfan+Fw9Qp3XFbekZo2L\nHxWG0V1QtGXZQWtMJ9Dpf3t1yZazUd9jEO2OpGWZQuID84G4Yq4S15g5hZRvON8QPzI/Eh+Z\nj4kbrtlQTcl5SfmDyZxC0uxYsyMNnyXpLKmZNbFiVsTcm6TeJHtl9nJNmWuypska7llSz82e\n8/s8kNuX02joDu8zV9cQ0rjzRec504Stw/u/4GdPrvz8AqfPnVkKZW5kc3RyZWFtCmVuZG9i\nagoxNCAwIG9iagogICAzMTcKZW5kb2JqCjE1IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3Jp\ncHRvcgogICAvRm9udE5hbWUgL0lRWUlTWStMaWJlcmF0aW9uU2FucwogICAvRm9udEZhbWls\neSAoTGliZXJhdGlvbiBTYW5zKQogICAvRmxhZ3MgMzIKICAgL0ZvbnRCQm94IFsgLTU0MyAt\nMzAzIDEzMDEgOTc5IF0KICAgL0l0YWxpY0FuZ2xlIDAKICAgL0FzY2VudCA5MDUKICAgL0Rl\nc2NlbnQgLTIxMQogICAvQ2FwSGVpZ2h0IDk3OQogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgw\nCiAgIC9Gb250RmlsZTIgMTEgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9Gb250\nCiAgIC9TdWJ0eXBlIC9UcnVlVHlwZQogICAvQmFzZUZvbnQgL0lRWUlTWStMaWJlcmF0aW9u\nU2FucwogICAvRmlyc3RDaGFyIDMyCiAgIC9MYXN0Q2hhciAxMTcKICAgL0ZvbnREZXNjcmlw\ndG9yIDE1IDAgUgogICAvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwogICAvV2lkdGhzIFsg\nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDI3Ny44MzIwMzEgMCA1NTYuMTUyMzQ0IDU1\nNi4xNTIzNDQgMCAwIDAgNTU2LjE1MjM0NCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYu\nMTUyMzQ0IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw\nIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2LjE1MjM0NCAwIDU1Ni4xNTIzNDQgMCA1\nMDAgMCA1NTYuMTUyMzQ0IDAgMCAwIDIyMi4xNjc5NjkgMCAwIDIyMi4xNjc5NjkgODMzLjAw\nNzgxMiA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDAgNTAwIDI3Ny44MzIw\nMzEgNTU2LjE1MjM0NCBdCiAgICAvVG9Vbmljb2RlIDEzIDAgUgo+PgplbmRvYmoKMTAgMCBv\nYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDE4IDAgUgogICAvTiA0CiAgIC9GaXJz\ndCAyMwogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxVkUFrhDAQhe/+irkU\n9KJJVl13kT2swlJKQdyeWnoIcXADxUgSS/ffN9HVUnKajzd57yUUSEBzyEjAgKZ5QPewyw9B\nWULydh8Rkob3aAIASF5kZ+ADGBBo4XNGlZoGCzQ4neaNRqtuEqghFFxqBTSmRZxCeLN2NMck\nmWmv+XiTwsRK91G0XKORW6mGmluEsD4ywjJyYAUpUppm79F6/18ieHKufrXhGn0EH2oGr9hJ\nflY/LilxZ8+IK0S2vIN1cgPppr9oNY1Qln7w8+Ix0xVdHdV8MKP3EvcVP4PVE65T5VQ1fkuB\n7eXsocvseYtGTVqggd3meXWLwi7RjfuAf/UqbvmX6h/t3OM/yjnRL6XSbiwKZW5kc3RyZWFt\nCmVuZG9iagoxOCAwIG9iagogICAyNzUKZW5kb2JqCjE5IDAgb2JqCjw8IC9UeXBlIC9YUmVm\nCiAgIC9MZW5ndGggODAKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1NpemUgMjAKICAg\nL1cgWzEgMiAyXQogICAvUm9vdCAxNyAwIFIKICAgL0luZm8gMTYgMCBSCj4+CnN0cmVhbQp4\nnGNgYPj/n4mBi4EBRDAxMk9kYGBk4AcSzNUgMQ4gS2YWiPsPSLA0AAm5YyDWVCAheQpEPAIS\n0nkgohViCiOIYGZU8AOKKaQyMAAAVYALIAplbmRzdHJlYW0KZW5kb2JqCnN0YXJ0eHJlZgo4\nMjkzCiUlRU9GCg==","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/239F78BE80EE4F7B92897063BDF1B1BB/t3aitmttcv.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":12},{"cell_type":"markdown","metadata":{"id":"07AD9F4C8DA848F7BC9C0A7BFABD7E9E","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**抽样结果图示**  \n\n对比一下抽样得到的后验分布图 和 实际的后验分布$Beta(110, 30)$  \n\n相比于上一次，这一次的结果更加接近真实的后验分布"},{"cell_type":"code","metadata":{"collapsed":false,"id":"098FA1496D2E4ECFB5E55970C05E64AE","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 生成10000个点，范围在[0, 1]之间\nx_beta <- seq(from = 0, to = 1, length.out = 10000)\n\n# 直接从理论后验Beta(160,40)中抽取概率密度\ny_beta <- stats::dbeta(x_beta, shape1 = 160, shape2 = 40)\n\n# 创建共轭分布的数据集\nconj_data <- data.frame(x = x_beta, y = y_beta, type = \"posterior distribution (theoretical)\")\n\n# 生成网格搜索后验样本（模拟数据）\nposterior_sample <- data.frame(pi_sample = stats::rbeta(n = 10000, shape1 = 155, shape2 = 38))\n\n# 绘图\noptions(repr.plot.width=10, repr.plot.height=5) #自定义画布大小\nggplot2::ggplot() +\n  # 绘制共轭分布的后验曲线\n  ggplot2::geom_line(\n    data = conj_data,\n    ggplot2::aes(x = x, y = y, color = type),\n    linewidth = 1\n  ) +\n  # 绘制网格搜索的后验直方图\n  ggplot2::geom_histogram(\n    data = posterior_sample,\n    ggplot2::aes(x = pi_sample, y = ..density.., fill = \"Grid Approximation (101 points)\"),\n    alpha = 0.7,  # 调整透明度\n    bins = 160,    # 调整分箱数量\n    color = \"black\"  # 直方图边框颜色\n  ) +\n  # 设置颜色\n  ggplot2::scale_color_manual(values = \"#4169E1\") +\n  ggplot2::scale_fill_manual(values = \"#E28903\") +\n  ggplot2::labs(x = NULL, y = NULL, color = NULL, fill = NULL) +\n  # 合并图例\n  ggplot2::guides(color = ggplot2::guide_legend(order = 1),fill = ggplot2::guide_legend(order = 2)) +\n  scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa() +\n  # 设置图例位置\n  theme(legend.position = \"right\")","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"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\nHkJGFET2R1XstP/98sXlD7/cw9e+xYTy3DOiStLLW/zrH8t8Wv7faJF7+OG//Fgi3nHTi2YT\nvs3/x7Vk6/ta0aJ3WJ7e98ubigAC/hP9r8rT/mFffMi6+jOHeLykv7v+P3wq1pkKZW5kc3Ry\nZWFtCmVuZG9iago1IDAgb2JqCiAgIDE3NDY5CmVuZG9iagozIDAgb2JqCjw8CiAgIC9FeHRH\nU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+CiAgICAgIC9hMSA8PCAvQ0Eg\nMC42OTgwMzkgL2NhIDAuNjk4MDM5ID4+CiAgID4+CiAgIC9Gb250IDw8CiAgICAgIC9mLTAt\nMCA3IDAgUgogICA+Pgo+PgplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvT2JqU3RtCiAgIC9M\nZW5ndGggOSAwIFIKICAgL04gMQogICAvRmlyc3QgNAogICAvRmlsdGVyIC9GbGF0ZURlY29k\nZQo+PgpzdHJlYW0KeJwzUzDgiuaK5QIABjgBXQplbmRzdHJlYW0KZW5kb2JqCjkgMCBvYmoK\nICAgMTYKZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCiAgIC9MZW5ndGgxIDk2MDQKPj4Kc3RyZWFtCnic5Tp7fBNV1vfMTJ7NNI8m\nadoUMum05ZFCoaFgodAR2lisSgoUkiKQQoGCCqGpLPigRUBrACmKuBWELqIriDCFCkVgra7r\nosBadX0t+lFfu67ClsXXrmyT78wkfYC63++33/ffd5M7c+8595577nndc9MSIIRoST2hCTf/\njsrgud07JxBiFgihKuavqOVu/FPpD4RYd2C/YWFw0R2rK48YCUnJIETVuuj2VQvfVe5IQgr7\nCUnaWr2gsiqBbGghhHsfYaOrEcBupR8nxGnAfkb1HbUra19IqMH+KOzX3r5sfiUh336I/Wew\nv/KOypVBeiP9GSHpHPa5YM2CYPeBGyZjH/mhJxGKnCVEkatYg9yqiENgKaWCVtIatYJmEFR4\nNues0QT5+Ua30T1yRJLT6EwyOo1nmQVXtt9En1Ws+aFOkXclmfkrEkda3ugFhldsIwkkmQwW\nzCaljiiJLUWjD/k1KtoS8tMppNBFbIWufkTBQPHplNFgcuaa6J62O9fE8P/8+utvLgL558Wj\n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\nSqnCZtYgZvOvulfvfpUq/IAa3T1LkzKyldI/n5YGOyJV0r2d+XvatPsiI+HN4pmy3JMxyH2J\nZ1gCTBeaSYJao2WQlIKiaYVKk6BgdetYWMFCETudrWJp3EcGC1YWGBa+Y+EzFt5l4RUWjrCw\nRxp3P7uNpatYULJWNov1sDNYxSKl/JYwr7Lvsn9m1U3sByyFg2ZIZKE/SQn9HUu/IhHIYkfj\nRGbMQvZp9ogMV7Bt0XZh9PiJJfkspLMAhDWw1DcstLMdbCdLt7JQzzayzSxdy0KAheksCCyM\nYoFjQZ6abrKVNLNASfO8bJCVRitVuGFGRVNqpZ5QmD26MWhLQoY5s+fOdvVmustr5tbUuGrm\n9HnOcrlzlTMZTT025u45AjXAayT14Jd2Rj6KnHsZ1kS2/B4SQfdaZAvcDyciRVQ2lRiZBU91\nf9P9Vjy/VfIYH4fAaiFqG0KIU+PkTGoNp3ENTcvEu5HBZiQWCxO7kzo1xFLlglIXFLrA5QKH\nC/Qu+MoF511w3AXPumCDC+52wTIXjJOxCS5YgujTMvqgjK5zwSwXTHGB3QVXXNAlT+4dsNUF\nsQVc8gDGBd+44FwPaZx7mwtGyShcOP+KjMOZzfLMWpl0aQ9rCfICseX3yHzFsHaZaIcLqHZ5\nZqMLAhJHQgKMcEGOC4gL1L0Cn9tPC33lR/q4ekAfenbPyZDbk7fk9110e37tiSUwWT+Rv/Sm\nMXwPniYzgqH7D8fTmbHbbr97cxp93a7lex49NCO4Yi114ImVYnNfZhOqmHfbHYFDp6XT/YmV\nB3/VvYnEoiBNpF8RdYShbsH3QIwdNEbdOhKFaVAJK2E1PEy9Sn3IZXEjuLHcfmd6NCr9vkea\nYSoEEH9vHJ+E+Pxe/M8XwDU+hMdhB+zET3P88yp+TsEpxCdeMz4Jc6SewsQ5VpDYqY5G+xMr\npPZrp/xbXn66WFEGFqInCXLPjDcFqSSTNLzRqjG6StLSEC0xynD7f7DC/4OiOIOn9714GlnI\nKvl5VcHobya/ICR6Qer1PSMz/2+5UMdereQkOUiar0I1kNVE/u27X3mR/JY8K7e2k03/huwx\nsi/e2kqayAM/O24JWYt09uD6fSWA0FXkl7hyG/k1mnM6uHHV2+LYc+S1nyYFH8Nr5GHyDI58\nmBzF53Z0gLupy+RhaipZSr1HryH3kQdxj7tgMdmM4wNkD8wicxAaK3PIArLsGqJh0kieIneR\n+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\nPCAvVHlwZSAvRm9udERlc2NyaXB0b3IKICAgL0ZvbnROYW1lIC9LUFZUWU4rTGliZXJhdGlv\nblNhbnMKICAgL0ZvbnRGYW1pbHkgKExpYmVyYXRpb24gU2FucykKICAgL0ZsYWdzIDMyCiAg\nIC9Gb250QkJveCBbIC01NDMgLTMwMyAxMzAxIDk3OSBdCiAgIC9JdGFsaWNBbmdsZSAwCiAg\nIC9Bc2NlbnQgOTA1CiAgIC9EZXNjZW50IC0yMTEKICAgL0NhcEhlaWdodCA5NzkKICAgL1N0\nZW1WIDgwCiAgIC9TdGVtSCA4MAogICAvRm9udEZpbGUyIDExIDAgUgo+PgplbmRvYmoKNyAw\nIG9iago8PCAvVHlwZSAvRm9udAogICAvU3VidHlwZSAvVHJ1ZVR5cGUKICAgL0Jhc2VGb250\nIC9LUFZUWU4rTGliZXJhdGlvblNhbnMKICAgL0ZpcnN0Q2hhciAzMgogICAvTGFzdENoYXIg\nMTIwCiAgIC9Gb250RGVzY3JpcHRvciAxNSAwIFIKICAgL0VuY29kaW5nIC9XaW5BbnNpRW5j\nb2RpbmcKICAgL1dpZHRocyBbIDI3Ny44MzIwMzEgMCAwIDAgMCAwIDAgMCAzMzMuMDA3ODEy\nIDMzMy4wMDc4MTIgMCAwIDAgMCAyNzcuODMyMDMxIDAgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0\nIDU1Ni4xNTIzNDQgMCAwIDU1Ni4xNTIzNDQgMCA1NTYuMTUyMzQ0IDAgMCAwIDAgMCAwIDAg\nMCAwIDY2Ni45OTIxODggMCAwIDAgMCAwIDc3Ny44MzIwMzEgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQg\nNTAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDAgNTU2LjE1MjM0NCAyMjIuMTY3OTY5IDAg\nMCAyMjIuMTY3OTY5IDgzMy4wMDc4MTIgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIz\nNDQgMCAzMzMuMDA3ODEyIDUwMCAyNzcuODMyMDMxIDU1Ni4xNTIzNDQgMCAwIDUwMCBdCiAg\nICAvVG9Vbmljb2RlIDEzIDAgUgo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL09ialN0\nbQogICAvTGVuZ3RoIDE4IDAgUgogICAvTiA0CiAgIC9GaXJzdCAyMwogICAvRmlsdGVyIC9G\nbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxVkVFrgzAUhd/zK+7LQF80Sa21RfpQhTLGQNo9bewh\nxGADw0gSx/rvd6PVMfJ0P87NOSdhQAnLYUsJB5blhO1gk+9JWUL6dh8UpI3olCMAkL7o1sEH\ncKBwgc8JVWbsPTByPE4bjTXtKJWFSAptDbCEFUkG0c37wR3SdKKdFcNNS5cY28XxfI1VwmvT\n18IriOoDp3xL97ygRYaZ3uPl/r9E8ISuYbURVoUIIdQEXlWrxcn8YFKKZ8cpFqJr3t6j3EG2\n6s/WjAOUZRjCPHtMdEFXpFb0bghe8r7gZ/B2VMtUoapW31qqy/kUIGYO/KKcGa1UDjar5xUX\npZ+jO/yAf/Uq4cWX6R7t8PEf5VD0C6bdbi0KZW5kc3RyZWFtCmVuZG9iagoxOCAwIG9iagog\nICAyNzUKZW5kb2JqCjE5IDAgb2JqCjw8IC9UeXBlIC9YUmVmCiAgIC9MZW5ndGggODEKICAg\nL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1NpemUgMjAKICAgL1cgWzEgMiAyXQogICAvUm9v\ndCAxNyAwIFIKICAgL0luZm8gMTYgMCBSCj4+CnN0cmVhbQp4nGNgYPj/n4mBi4EBRDAxumxk\nYGBk4AcSLjNBYhxAVuJdIOHqASJOAYmUABDrPpCIewEk4hmARAJIW8IJiCmMIIKZMfUGUCz1\nPQMDAORdD08KZW5kc3RyZWFtCmVuZG9iagpzdGFydHhyZWYKMjYwOTUKJSVFT0YK","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/098FA1496D2E4ECFB5E55970C05E64AE/t3aitnjfz7.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":13},{"cell_type":"markdown","metadata":{"id":"DD688F9C1F0642BA91DDDB875D555560","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 练习  \n\n> 📃以**Normal-Normal模型**为例来练习网格近似  \n\n在 Normal-Normal 模型 中，观测数据和参数之间的关系是通过正态分布来表示的。  \n\n**模型设定：**  \n- 假设 $\\mu$ 是参与者在随机点运动任务中的**平均反应时间**（单位：ms）, $\\sigma$ 是参与者在随机点运动任务中的**标准差**（单位：ms）。  \n- 先验分布设为正态分布，我们假设参与者的平均反应时间约为 500 ms，标准差为 100 ms。  \n  - 对于 $\\mu$，其先验分布为 $\\mu \\sim N(500, 200)$。  \n  - 对于 $\\sigma$，其先验分布为 $\\sigma \\sim N(100, 50)$ \\[这个先验是否合理?\\]。  \n- 观测数据 $Y$ 表示参与者在实验中实际的反应时间。假设我们收集了被试完成 10 次实验的反应时间。  \n  - 例如 [691., 582., 628., 729., 699., 472., 626., 538., 542., 583.] ms。  \n\n目标：我们的目标是通过**网格近似法**计算 $\\mu$ 的后验分布。  \n\n$$  \n\\begin{equation}  \n\\begin{split}  \nY_i|\\mu & \\stackrel{ind}{\\sim} N(\\mu, \\sigma^2) \\\\  \n\\mu & \\sim N(\\mu_0, \\sigma_0^2) . \\\\  \n\\sigma & \\sim N(\\mu_1, \\sigma_1^2) . \\\\  \n\\end{split}  \n\\tag{1}  \n\\end{equation}  \n$$  \n\n<div style=\"padding-bottom: 30px;\"></div>"},{"cell_type":"markdown","metadata":{"id":"6FC4697F62B64B2BA55D2BC67591034F","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"首先，我们仅考虑只有一种参数的情况。 即假设我们已知 $\\sigma$ 为 80， 而 $\\mu$ 未知。  \n\n$\\mu$ 的先验为正态分布，即 $N(500, 200)$。"},{"cell_type":"code","metadata":{"collapsed":false,"id":"4FC8AC56C0F546C8AEB6368FAEDDFA8D","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"skip"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"set.seed(0)  # 设置随机种子\ndata <- stats::rnorm(n = 10, mean = 550, sd = 80)  # 生成正态分布数据","outputs":[],"execution_count":14},{"cell_type":"code","metadata":{"collapsed":false,"id":"2D6ECFC4EB3F4F69B8BF31B660989B0F","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"fragment"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 展示数据\nprint(data)","outputs":[{"name":"stdout","output_type":"stream","text":[" [1] 651.0363 523.9013 656.3839 651.7943 583.1713 426.8040 475.7146 526.4224\n"," [9] 549.5386 742.3723\n"]}],"execution_count":17},{"cell_type":"code","metadata":{"collapsed":false,"id":"61F3B9B7C7714D2DAFDCC80AD415CA6F","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            设置网格范围和步长\n#                            1. 假设被试反应的反应时范围为 200 到 800 ms\n#                            2. 设定网格步长为20 (后续可以修改为30,50,100等)\n# ---------------------------------------------------------------------------\n# n_step <- ...  请补充... \n# mu_grid <- ...  请补充...\n","outputs":[],"execution_count":12},{"cell_type":"code","metadata":{"collapsed":false,"id":"13F23DE068964FDC91CE7091008531D3","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            设置网格范围和步长\n#                            1. 假设被试反应的反应时范围为 200 到 800 ms\n#                            2. 设定网格步长为20 (后续可以修改为30,50,100等)\n# ---------------------------------------------------------------------------\n# theta_grid <- base::seq(from = 200, to = 800, length.out = 20)\nn_step <- 200\nmu_grid <- base::seq(from = 200, to = 800, length.out = n_step)","outputs":[],"execution_count":15},{"cell_type":"code","metadata":{"collapsed":false,"id":"C94F82377AAA4887B3017EF24637D80E","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算先验概率\n#                            1. 设定先验概率服从正态分布\n#                            2. 先验均值为500, 标准差为100\n# ---------------------------------------------------------------------------\n# prior_mean <- ... \n# prior_std <- ... \n# prior_prob <- stats::dnorm(...)","outputs":[],"execution_count":14},{"cell_type":"code","metadata":{"collapsed":false,"id":"EDC7DC23F1434BA894B3089A95393A26","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算先验概率\n#                            1. 设定先验概率服从正态分布\n#                            2. 先验均值为500, 标准差为100\n# ---------------------------------------------------------------------------\nprior_mean <- 500\nprior_std <- 100\nprior_prob <- stats::dnorm(mu_grid, mean = prior_mean, sd = prior_std)","outputs":[],"execution_count":12},{"cell_type":"code","metadata":{"collapsed":false,"id":"182F997C4D6840E1AA805F85A3E479F8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算似然函数\n# ---------------------------------------------------------------------------\n# likelihood <-","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"32080FFBDE664A3FB5351E0F81D142FE","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算似然函数\n# ---------------------------------------------------------------------------\nlikelihood <- sapply(mu_grid, function(mu) {\n  # 计算每个数据点的正态密度并求乘积\n  prod(stats::dnorm(data, mean = mu, sd = 80))\n})","outputs":[],"execution_count":16},{"cell_type":"code","metadata":{"collapsed":false,"id":"066804655F2A41B3BEA8E3E7B65F12D8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算后验\n# ---------------------------------------------------------------------------\n# posterior_prob <- ...\n\n# 归一化后验概率","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"31F567580A6B46BDBA4D877A3AD1FA5D","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算后验\n# ---------------------------------------------------------------------------\nposterior_prob <- prior_prob * likelihood\n\n# 归一化后验概率\nposterior_prob <- posterior_prob / sum(posterior_prob)","outputs":[],"execution_count":28},{"cell_type":"code","metadata":{"collapsed":false,"id":"E49B504D8F6D4180B142F192A311DE99","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算找到后验概率的最大值对应的参数\n# ---------------------------------------------------------------------------\n# max_posterior <- \n# cat(\"最大后验概率对应的参数值：\", mu_grid[max_posterior], \"\\n\")","outputs":[],"execution_count":18},{"cell_type":"code","metadata":{"collapsed":false,"id":"DC726BE5BDCB4B4E87E2304D88F4E240","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算找到后验概率的最大值对应的参数\n# ---------------------------------------------------------------------------\n\nmax_posterior <- which.max(posterior_prob)\ncat(\"最大后验概率对应的参数值：\", mu_grid[max_posterior], \"\\n\")","outputs":[{"name":"stdout","output_type":"stream","text":["最大后验概率对应的参数值： 573.8693 \n"]}],"execution_count":29},{"cell_type":"code","metadata":{"collapsed":false,"id":"10825B9006B94741958B3DF86AA330DE","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 绘制结果（直接运行即可）\noptions(repr.plot.width=10, repr.plot.height=5) #自定义画布大小\nggplot2::ggplot() +\n  # 绘制先验分布\n  ggplot2::geom_line(\n    data = data.frame(mu = mu_grid, density = prior_prob / base::sum(prior_prob), type = \"prior\"),\n    # ggplot2::aes(x = mu, y = density),\n    ggplot2::aes(x = mu, y = density, fill = type),  # 在这里映射颜色\n    color = \"orange\",\n    linewidth = 0.7\n  ) +\n  # 绘制后验分布\n  ggplot2::geom_line(\n    data = data.frame(mu = mu_grid, density = posterior_prob, type = \"posterior of grid method\"),\n    ggplot2::aes(x = mu, y = density, color = type),\n    color = \"blue\",\n    linewidth = 0.7\n  ) +\n  # 绘制真实数据均值的垂直线\n  ggplot2::geom_vline(\n    xintercept = base::mean(data),\n    color = \"red\",\n    linewidth = 0.7\n  ) +\n  # 添加标题和坐标轴标签\n  ggplot2::ggtitle(\"Grid search posterior distribution\") +\n  ggplot2::xlab(expression(mu)) +\n  ggplot2::ylab(\"Density\") +\n  # 设置坐标轴范围\n  ggplot2::xlim(200, 800) +\n  ggplot2::ylim(0, max(posterior_prob) * 1.1) +\n  scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa() ","outputs":[{"name":"stderr","output_type":"stream","text":["\u001b[1m\u001b[22mScale for \u001b[32my\u001b[39m is already present.\n","Adding another scale for \u001b[32my\u001b[39m, which will replace the existing scale.\n"]},{"data":{"application/pdf":"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\neHRHU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+CiAgID4+CiAgIC9Gb250\nIDw8CiAgICAgIC9mLTAtMCA3IDAgUgogICAgICAvZi0xLTEgOCAwIFIKICAgPj4KPj4KZW5k\nb2JqCjkgMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDEwIDAgUgogICAvTiAx\nCiAgIC9GaXJzdCA0CiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nDNTMOCK\n5orlAgAGOAFdCmVuZHN0cmVhbQplbmRvYmoKMTAgMCBvYmoKICAgMTYKZW5kb2JqCjEyIDAg\nb2JqCjw8IC9MZW5ndGggMTMgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCiAgIC9MZW5n\ndGgxIDkzNjAKPj4Kc3RyZWFtCnic3Tp7fBNV1vfMTCZJH3knnTaFTDptebTQ0lCwWMgINBbK\nI6VUkiI0hQIFFQIpCihQBKQUkaoVF0Ho+oZFmEKFoqLF1+KDlV1fuyJLVdzPVbDI6j6AJt+Z\nSVqKr/1++31/fTe5M/ece+655557zrnnpiVACIkjdYQm/OzbqoKnHt2ZQIj5ZkKoitm31/Lj\nPy65RIi1DeH6ucF5t62qOmQkhBMJUbfOu3X5XN1pdx/ksJcQk1Qzp6o6nmxqIcTxHeKG1SAi\nsYn+FSF8NsLpNbfVLgtOiPsKYS/Ct966aHYVIRebEH4R4eBtVcuCdAN9lhCnTM8Hl8wJdu27\ncRzCEwihxxCKnCBEladag9KqiUNMpFgVzdJajYpmEOU+kXPCaIKCAqPL6BqSa3YanWaj03iC\nmXN5+wT6hGrNpdWq/MtJzF+ROfLyRs4xgmoriSdJpL9oMbEJhCVcslYf8mvVtDXkp5OJO4tw\n7qxeTMFACWmU0WBy5pno7rYrz8QI//rb3747D+Rf5w9vfuyp+x9s3tVEHQvvCt8LS2A23AIL\nwg+Et8EQMIUvht8Ovx/+ClIJkBcIgVXkFAqfJMbRhDAqAtunE5KjzClP6Mp3WV949dQpWWYg\nO5BEj+uPI1mihdFQVHyCimFoltUAgVo/4VBiI3FxbpcrxxVlofBwGlX5GS6j07oD5oVfgYlP\nwbRtTOHne764zG2T+c5Dvgmoi75klMinEp1eY+1j1RPGwWtSdSZTfMhvUgNJJandc5hIAadM\n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\nhZBPKDYdN5P8N+zLm6QKZW5kc3RyZWFtCmVuZG9iagoxMyAwIG9iagogICA2MDk3CmVuZG9i\nagoxNCAwIG9iago8PCAvTGVuZ3RoIDE1IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+\nPgpzdHJlYW0KeJxdUstugzAQvPsr9pgeIsChdiIhpCq9cOhDpf0AYq9TpGIsQw75+3q9USr1\nADsez768Wxy7586PKxTvcTY9ruBGbyMu8yUahBOeRy8qCXY06+2U/2YagiiSc39dVpw672bR\nNFB8pMtljVfYPNn5hA8CAIq3aDGO/gybr2PPVH8J4Qcn9CuUom3BokvhXobwOkwIRXbedjbd\nj+t1m9z+FJ/XgCDzueKSzGxxCYPBOPgziqYsW2icawV6++9OKnY5OfM9RNHsSFqWyYhGYsbJ\nJL5iviIsGUvCO8Y7wjXjmrBirAjvGe8TrllTk0Y9ZpxMwpxLUS7NMTXFVAfmD8SzryZfzbwm\nvtYcUxPPtWmqTbFekV5yX5L6UtyLol4U51I5F9epqE7Nep31jnlHmOMriq+5/mToYW8vSE9M\nu3CfnbnEmMaWFybPiyY1erzvVJgDeeXvF3siqg0KZW5kc3RyZWFtCmVuZG9iagoxNSAwIG9i\nagogICAzNDQKZW5kb2JqCjE2IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvcgogICAv\nRm9udE5hbWUgL1ZOQ0ZTVitMaWJlcmF0aW9uU2FucwogICAvRm9udEZhbWlseSAoTGliZXJh\ndGlvbiBTYW5zKQogICAvRmxhZ3MgMzIKICAgL0ZvbnRCQm94IFsgLTU0MyAtMzAzIDEzMDEg\nOTc5IF0KICAgL0l0YWxpY0FuZ2xlIDAKICAgL0FzY2VudCA5MDUKICAgL0Rlc2NlbnQgLTIx\nMQogICAvQ2FwSGVpZ2h0IDk3OQogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgwCiAgIC9Gb250\nRmlsZTIgMTIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9UeXBlIC9Gb250CiAgIC9TdWJ0\neXBlIC9UcnVlVHlwZQogICAvQmFzZUZvbnQgL1ZOQ0ZTVitMaWJlcmF0aW9uU2FucwogICAv\nRmlyc3RDaGFyIDMyCiAgIC9MYXN0Q2hhciAxMjEKICAgL0ZvbnREZXNjcmlwdG9yIDE2IDAg\nUgogICAvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwogICAvV2lkdGhzIFsgMjc3LjgzMjAz\nMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDI3Ny44MzIwMzEgMCA1NTYuMTUyMzQ0IDU1\nNi4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCA1NTYuMTUyMzQ0\nIDAgNTU2LjE1MjM0NCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyLjE2Nzk2OSAwIDAgNzc3\nLjgzMjAzMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1MDAgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDAg\nMCA1NTYuMTUyMzQ0IDIyMi4xNjc5NjkgMCAwIDAgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQg\nNTU2LjE1MjM0NCAwIDMzMy4wMDc4MTIgNTAwIDI3Ny44MzIwMzEgNTU2LjE1MjM0NCAwIDAg\nMCA1MDAgXQogICAgL1RvVW5pY29kZSAxNCAwIFIKPj4KZW5kb2JqCjE3IDAgb2JqCjw8IC9M\nZW5ndGggMTggMCBSCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCiAgIC9MZW5ndGgxIDI2NDAK\nPj4Kc3RyZWFtCnic1VRrdFTVFd53vntmkswjd4ZJMCYhE+LlHR4TIYaHDTEIAQmBREzaxgYY\nhkihBII8mkaoNDwiGCgwKiAiUopAaUoRRoJt5eGjMbU1hNZKS1FQaVNFi2CHsOOeAKtrda32\nb1fPuefc8337vde5lzQiiqXlBDJmLFroo0dSc4i0XbI4WDVr7vy7F80mgmDaN2vO0mDm883J\nct4m8pjKmdMCjg+1M0R6kXDDKoVwPmerErxa8F2VcxcucV3XjgveL9gxZ96MaWK3Q3BYsDF3\n2pIqvco6X/Abgn1VC2ZWjbB9Jkf9YyJVSRYKckgPql2SnY3uzHXo18l6XYtRyyw6DTp5un0I\nGafbT7cP7uZOd5vp7vSgTh3VSO64yCGb68vPF1j7dnbSAZ6qX9QrDKv4k/C3MfloYq7ZLSkN\niVbEOqB54q2rUhLXxmnH6JX0pFhPbIy9MM0SQ/enGx3t/ivtJz05Eu/CBf+Vke1nT7q757g9\n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\nqpxfUnhwxwplbmRzdHJlYW0KZW5kb2JqCjIwIDAgb2JqCiAgIDIyNAplbmRvYmoKMjEgMCBv\nYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvVlpNSlNLK0RlamFW\ndVNhbnMKICAgL0ZvbnRGYW1pbHkgKERlamFWdSBTYW5zKQogICAvRmxhZ3MgNAogICAvRm9u\ndEJCb3ggWyAtMTAyMCAtNDYyIDE3OTMgMTIzMiBdCiAgIC9JdGFsaWNBbmdsZSAwCiAgIC9B\nc2NlbnQgOTI4CiAgIC9EZXNjZW50IC0yMzUKICAgL0NhcEhlaWdodCAxMjMyCiAgIC9TdGVt\nViA4MAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMiAxNyAwIFIKPj4KZW5kb2JqCjIyIDAg\nb2JqCjw8IC9UeXBlIC9Gb250CiAgIC9TdWJ0eXBlIC9DSURGb250VHlwZTIKICAgL0Jhc2VG\nb250IC9WWk1KU0srRGVqYVZ1U2FucwogICAvQ0lEU3lzdGVtSW5mbwogICA8PCAvUmVnaXN0\ncnkgKEFkb2JlKQogICAgICAvT3JkZXJpbmcgKElkZW50aXR5KQogICAgICAvU3VwcGxlbWVu\ndCAwCiAgID4+CiAgIC9Gb250RGVzY3JpcHRvciAyMSAwIFIKICAgL1cgWzAgWyA2MDAuMDk3\nNjU2IDYzNi4yMzA0NjkgXV0KPj4KZW5kb2JqCjggMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAg\nL1N1YnR5cGUgL1R5cGUwCiAgIC9CYXNlRm9udCAvVlpNSlNLK0RlamFWdVNhbnMKICAgL0Vu\nY29kaW5nIC9JZGVudGl0eS1ICiAgIC9EZXNjZW5kYW50Rm9udHMgWyAyMiAwIFJdCiAgIC9U\nb1VuaWNvZGUgMTkgMCBSCj4+CmVuZG9iagoxMSAwIG9iago8PCAvVHlwZSAvT2JqU3RtCiAg\nIC9MZW5ndGggMjUgMCBSCiAgIC9OIDQKICAgL0ZpcnN0IDIzCiAgIC9GaWx0ZXIgL0ZsYXRl\nRGVjb2RlCj4+CnN0cmVhbQp4nFWRUWuDMBSF3/0V92WgL5rE2K5F+lCFMsZA2j117CHEYAPD\nSBLH+u93o9UxAoH7ce495yYUSMRyKPAGyjcR45BvdlFZQvZ+HxRkjeiUiwAge9Wtgw9gQOAM\nnxOqzNh7oNHhMHU01rSjVBZiKbQ1QFP6nHKIb94Pbp9lE+2sGG5autTYLknmMVYJr01fC68g\nrveMsILs2JYUnHF6TZb5f4ngCV1DayOsChFCqAm8qVaLo/nBpATPlhFciKx5e49yB3zVn6wZ\nByjLUIR69pjogi5IrejdELzkfcEv4O2olqpCVa2+tVTn0zFAzBz4WTkzWqkc5KvnBRuln6M7\n/IB/61XCiy/TPbbDx38sh6Jfl+9uIQplbmRzdHJlYW0KZW5kb2JqCjI1IDAgb2JqCiAgIDI3\nNQplbmRvYmoKMjYgMCBvYmoKPDwgL1R5cGUgL1hSZWYKICAgL0xlbmd0aCAxMDQKICAgL0Zp\nbHRlciAvRmxhdGVEZWNvZGUKICAgL1NpemUgMjcKICAgL1cgWzEgMiAyXQogICAvUm9vdCAy\nNCAwIFIKICAgL0luZm8gMjMgMCBSCj4+CnN0cmVhbQp4nGNgYPj/n4mBm4EBRDAxcm1iYGBk\n4AcSXLNBYpxAltpzIGGSAyS4jUDEViBhygNinQYSyn+AhIoIkFDdDSIuAQlNLyBhyAYi5ICE\nkS+ISAESxsUQixhBBDOj2RSgmNlqBgYALgAPFwplbmRzdHJlYW0KZW5kb2JqCnN0YXJ0eHJl\nZgoxMzk5NQolJUVPRgo=","text/html":["<img src=\"https://cdn.kesci.com/upload/rt/ADBE85CC1736441FBF2E23D6697CFBE0/t38fv9j666.svg\">"],"text/plain":["plot without title"]},"metadata":{"application/pdf":{"height":300,"width":600},"image/jpeg":{"height":300,"width":600},"image/png":{"height":300,"width":600},"image/svg+xml":{"height":300,"isolated":true,"width":600}},"output_type":"display_data"}],"execution_count":31},{"cell_type":"code","metadata":{"collapsed":false,"id":"BE1E6E946F1B4083A889BE505A8E0FA5","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            通过共轭方法计算后验概率 (具体算法见补充材料)\n# ---------------------------------------------------------------------------\nx <- base::seq(from = 200, to = 800, length.out = 10000)\nprior_mean <- 500\nprior_variance <- 200^2  # 先验方差\nsigma2 <- 80^2           # 数据方差\nn <- base::length(data)  # 观测数据的数量\n\n# 计算后验均值和标准差\nposterior_mean <- (prior_mean / prior_variance + base::sum(data) / sigma2) / \n                 (1 / prior_variance + n / sigma2)\nposterior_std <- base::sqrt(1 / (1 / prior_variance + n / sigma2))\n\n# 计算共轭后验分布的概率密度\nposterior_conjugate <- stats::dnorm(x, mean = posterior_mean, sd = posterior_std)\n\n# 准备绘图数据\nplot_data <- data.frame(\n  mu = x,\n  density = posterior_conjugate,\n  type = \"posterior of conjugated method\"\n)\n\n# 计算数据均值（真实数据参考线）\ndata_mean <- base::mean(data)\n\n# 绘制结果\nggplot2::ggplot() +\n  # 绘制共轭后验分布曲线\n  ggplot2::geom_line(\n    data = plot_data,\n    ggplot2::aes(x = mu, y = density, color = type),\n    linewidth = 0.7\n  ) +\n  # 绘制真实数据均值的垂直线\n  ggplot2::geom_vline(\n    xintercept = data_mean,\n    color = \"red\",\n    linewidth = 0.7\n  ) +\n  # 设置颜色方案\n  ggplot2::scale_color_manual(\n    values = c(\"posterior of conjugated method\" = \"blue\", \"true data\" = \"red\"),\n    labels = c(\"posterior of conjugated method\", \"true data\")\n  ) +\n  # 添加标题和坐标轴标签\n  ggplot2::ggtitle(\"Conjugated posterior distribution\") +\n  ggplot2::xlab(expression(mu)) +\n  ggplot2::ylab(\"Density\") +\n  # 设置坐标轴范围\n  ggplot2::xlim(200, 800) +\n  ggplot2::ylim(0, base::max(posterior_conjugate) * 1.1) +\n  # 图例设置\n  ggplot2::guides(color = ggplot2::guide_legend(title = NULL)) +\n  # 主题设置\n  scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa() +\n  # 设置图例位置\n  theme(legend.position = \"right\")","outputs":[{"name":"stderr","output_type":"stream","text":["\u001b[1m\u001b[22mScale for \u001b[32my\u001b[39m is already present.\n","Adding another scale for \u001b[32my\u001b[39m, which will replace the existing scale.\n"]},{"data":{"application/pdf":"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\nXfouveW373///Oob+L+1b3/9/c9PDWFezfMIgu9/639ZH/6l5DPhxb/kwn/5n9+fCpa3+P9p\nOX1xdd4ORu3bogBok69BmAssHu81AT5ek3QU9nVNirOxv3x190+6se2wfL+GxJeKbmWDZRLN\n8zH86YIPt+A0L02Z96JLPlzFyEv4ru5Vl3y46o7Se9W/N27//183rNtnncIQ71ghFEwUP3nd\nJSW+OGbQLbD3Jr3T9vEfTo12/MP4j+5Y/geMAVbGFSyumfz5Gy2mOM935rLTSNUof5dVo/+S\nUsr/9fs/PrrjO96NU95HViJSC5ZBeUNM/KQp/+Pb78r65nfnz/nNn/nn3/5A9H++PX/836gb\nHsTO60nZiBCmiK6RmafrujIHH8nwe7YjY3C8BEIv2nlhxtty3lqvyrtu8BqHaj6CjC4YK9kJ\n91dnBK/JXHNwxTodfCbBn7TpX76t/Zt/xh9/O01Jpynfnb//DuCv35b8zR++zRX/PvAzffPG\nf+bv3/OvBM83/3RuzuJ/xr1//Da3b/4Vf/sBf/wGf6DopqJ/+23c+s2ffhf/1r/5398+p4B/\n1hUcAgwoAR1Zb/j+zPStRgwYOE92aF2nab/65r+7fqWfepRx6vFdP/U4f/sBf/wGf5xnnT9/\nh7/+Fn+cepzL/wV/5Y1/+/b5rrInStdlf/32/D6vmhf4p+5iAX/AQ0731eyb4vrTMf8LF/zr\n67G8lqX8OcbLL57/ByJ6PSkKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCiAgIDE3MDA3CmVu\nZG9iagozIDAgb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9j\nYSAxID4+CiAgID4+CiAgIC9Gb250IDw8CiAgICAgIC9mLTAtMCA3IDAgUgogICAgICAvZi0x\nLTEgOCAwIFIKICAgPj4KPj4KZW5kb2JqCjkgMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAv\nTGVuZ3RoIDEwIDAgUgogICAvTiAxCiAgIC9GaXJzdCA0CiAgIC9GaWx0ZXIgL0ZsYXRlRGVj\nb2RlCj4+CnN0cmVhbQp4nDNTMOCK5orlAgAGOAFdCmVuZHN0cmVhbQplbmRvYmoKMTAgMCBv\nYmoKICAgMTYKZW5kb2JqCjEyIDAgb2JqCjw8IC9MZW5ndGggMTMgMCBSCiAgIC9GaWx0ZXIg\n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\nkO8Qte8F6D7Yc5CafaDlAJVzYNWBkweiB5gn9ma4Anth1W44uRt2+4e7HmlzuLg2V1tDW0tb\ntE2T+6D0INX4INS1NLZQrS3Q3dLTQs2+v+r+VffT9/qjrn3bYdvWca76sM8VxoWsuqPQdYc/\n35UCfPkwL1+u9dLlLC49hLgqbLf4x7kWVBa7KvFryTOXa9A8TB5dfhsNiXQhfSN9G303rekr\njUo1pZRUmj/JL5VmjvSfCcAsv+AqRs7XYzvih3P+Pj/V6Ad7nq3cBFy5MY8rxyq4HAi4XJyP\nq+IaOIbjcrjZ3CquhTvHRTmtD2F9HL2KwGwCjXbQQBe0dswt83hKurRRrKi0gQUyNMmZZcpb\nKq2U2SaZlFcuqOgAeCC4fdcuMn14iZxXViGHhgdL5BrsSEqnETvG4R12Mj0Yrg/Xr/UoD8Q6\npN7jCYeVHigjTwyn9sATRjSS4SQc1K8lYU+4HsLhehKuR3gYFmE/HCZhhIcBp2ALe+L8Bzmh\ngEXICF/1MRHhMM4LI59wXBy/iPwXfMKl5gplbmRzdHJlYW0KZW5kb2JqCjEzIDAgb2JqCiAg\nIDY3ODgKZW5kb2JqCjE0IDAgb2JqCjw8IC9MZW5ndGggMTUgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nF1Sy27DIBC88xUc00Nkm7iQSJalKr340Ifq9gMwLKml\nGiPsHPz3ZdkolXqwdxh2lmGX4tw9d35cefEeZ9PDyt3obYRlvkYDfIDL6FkluB3Nelvlv5l0\nYEUS99uywtR5N7Om4cVH2lzWuPHdk50HeGCc8+ItWoijv/Dd17knqr+G8AMT+JWXrG25BZfK\nvejwqifgRRbvO5v2x3XbJ9lfxucWgIu8rsiSmS0sQRuI2l+ANWXZ8sa5loG3//bEiSSDM986\nsuaAqWWZAmsEZJxC4mvia8RHwkfEFeEKsSAsEEvCMuGatDVq5WPGKSRM9SXWV4eMU0j8ifgT\n8qRVqFXEq8yTT4U+paN8hzx5UOhBUI7IOeRHoh9JZ8l8liasUUveVPamiFeI6Y4S7yjJj8x3\nsYQtYuqJxJ7UVL/O9clPCtj8W5dxDPhe7vM11xjTaPOjyjPFaY4e7u8uzAFV+fsF47+xygpl\nbmRzdHJlYW0KZW5kb2JqCjE1IDAgb2JqCiAgIDM1NgplbmRvYmoKMTYgMCBvYmoKPDwgL1R5\ncGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvS1paVUVQK0xpYmVyYXRpb25TYW5z\nCiAgIC9Gb250RmFtaWx5IChMaWJlcmF0aW9uIFNhbnMpCiAgIC9GbGFncyAzMgogICAvRm9u\ndEJCb3ggWyAtNTQzIC0zMDMgMTMwMSA5NzkgXQogICAvSXRhbGljQW5nbGUgMAogICAvQXNj\nZW50IDkwNQogICAvRGVzY2VudCAtMjExCiAgIC9DYXBIZWlnaHQgOTc5CiAgIC9TdGVtViA4\nMAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMiAxMiAwIFIKPj4KZW5kb2JqCjcgMCBvYmoK\nPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL1RydWVUeXBlCiAgIC9CYXNlRm9udCAvS1pa\nVUVQK0xpYmVyYXRpb25TYW5zCiAgIC9GaXJzdENoYXIgMzIKICAgL0xhc3RDaGFyIDEyMQog\nICAvRm9udERlc2NyaXB0b3IgMTYgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5n\nCiAgIC9XaWR0aHMgWyAyNzcuODMyMDMxIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc3\nLjgzMjAzMSAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDAgNTU2LjE1MjM0\nNCAwIDU1Ni4xNTIzNDQgMCA1NTYuMTUyMzQ0IDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyLjE2\nNzk2OSA3MjIuMTY3OTY5IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgMCAwIDAgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDUwMCA1NTYuMTUyMzQ0\nIDU1Ni4xNTIzNDQgMjc3LjgzMjAzMSA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMjIyLjE2Nzk2\nOSAyMjIuMTY3OTY5IDAgMCA4MzMuMDA3ODEyIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYu\nMTUyMzQ0IDAgMzMzLjAwNzgxMiA1MDAgMjc3LjgzMjAzMSA1NTYuMTUyMzQ0IDAgMCAwIDUw\nMCBdCiAgICAvVG9Vbmljb2RlIDE0IDAgUgo+PgplbmRvYmoKMTcgMCBvYmoKPDwgL0xlbmd0\n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\nFEZyBHfmIUlAEuOOALpLp7ozEsUoMQkJDC+jG8MjCh6GW2p158GoRXwALobTkaicDIdoOxJh\nZ8QZiGXEiFoMw+aFNQBdhLrcgAQIC5a/qaEsmdAMEEMLa4G6dVr//4dB/+sE/utI/QoRJ86p\nCmVuZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKICAgMTg4NAplbmRvYmoKMTkgMCBvYmoKPDwg\nL0xlbmd0aCAyMCAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicXZDB\nasMwDIbvfgodu0Nx0l1DYHSXHNqNpX0AR5YzwyIbxTnk7ee4oYMJbJD+/zO/pc/de8c+gf6U\ngD0lcJ6t0BwWQYKBRs+qPoH1mPau3DiZqHSG+3VONHXsgmoa0F9ZnJOscHizYaAXBQD6QyyJ\n5xEO93P/GPVLjD80ESeoVNuCJZefu5h4NROBLvCxs1n3aT1m7M9xWyPBqfT1IxIGS3M0SGJ4\nJNVUuVpoXK5WEdt/+k4NDr+NFHed3dXrgMW9zzdu++QzFC4iOU/ZRAmyRfBMz2XFEDeqnF9S\neHDHCmVuZHN0cmVhbQplbmRvYmoKMjAgMCBvYmoKICAgMjI0CmVuZG9iagoyMSAwIG9iago8\nPCAvVHlwZSAvRm9udERlc2NyaXB0b3IKICAgL0ZvbnROYW1lIC9WWk1KU0srRGVqYVZ1U2Fu\ncwogICAvRm9udEZhbWlseSAoRGVqYVZ1IFNhbnMpCiAgIC9GbGFncyA0CiAgIC9Gb250QkJv\neCBbIC0xMDIwIC00NjIgMTc5MyAxMjMyIF0KICAgL0l0YWxpY0FuZ2xlIDAKICAgL0FzY2Vu\ndCA5MjgKICAgL0Rlc2NlbnQgLTIzNQogICAvQ2FwSGVpZ2h0IDEyMzIKICAgL1N0ZW1WIDgw\nCiAgIC9TdGVtSCA4MAogICAvRm9udEZpbGUyIDE3IDAgUgo+PgplbmRvYmoKMjIgMCBvYmoK\nPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL0NJREZvbnRUeXBlMgogICAvQmFzZUZvbnQg\nL1ZaTUpTSytEZWphVnVTYW5zCiAgIC9DSURTeXN0ZW1JbmZvCiAgIDw8IC9SZWdpc3RyeSAo\nQWRvYmUpCiAgICAgIC9PcmRlcmluZyAoSWRlbnRpdHkpCiAgICAgIC9TdXBwbGVtZW50IDAK\nICAgPj4KICAgL0ZvbnREZXNjcmlwdG9yIDIxIDAgUgogICAvVyBbMCBbIDYwMC4wOTc2NTYg\nNjM2LjIzMDQ2OSBdXQo+PgplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvRm9udAogICAvU3Vi\ndHlwZSAvVHlwZTAKICAgL0Jhc2VGb250IC9WWk1KU0srRGVqYVZ1U2FucwogICAvRW5jb2Rp\nbmcgL0lkZW50aXR5LUgKICAgL0Rlc2NlbmRhbnRGb250cyBbIDIyIDAgUl0KICAgL1RvVW5p\nY29kZSAxOSAwIFIKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9PYmpTdG0KICAgL0xl\nbmd0aCAyNSAwIFIKICAgL04gNAogICAvRmlyc3QgMjMKICAgL0ZpbHRlciAvRmxhdGVEZWNv\nZGUKPj4Kc3RyZWFtCnicVZFPa4QwEMXvfoq5FPSiMf7Z7iJ7WIWllIK4PW3pIcTBFYqRJJbu\nt+9EV0sJBObHm3lvkhiYxxPI6IY4zT2eQpLvvaKA6P0+IkS16NB4ABC99q2BD+DAoIHPGZVq\nGizE3vE4d9RatZNEDb4UvVYQh/FzmIJ/s3Y0hyiaaafFeOulCZXugmAZo1HYXg2VsAh+deCM\nZ2zPdyxLcsauwTr/LxE8katrrYVGF8GFmsEbtr04qR9KyujsOKOF2JZ3sCQ3kG76s1bTCEXh\nClcvHjNd0YWoFoMZnZe8r/gFrJ5wrUpSVfjdS2zOJwcps+MNGjVpiQaSzfNCjdIu0Q19wL/1\nSmHFl+oe29HjP5Yj0S+V2m4fCmVuZHN0cmVhbQplbmRvYmoKMjUgMCBvYmoKICAgMjc1CmVu\nZG9iagoyNiAwIG9iago8PCAvVHlwZSAvWFJlZgogICAvTGVuZ3RoIDEwMwogICAvRmlsdGVy\nIC9GbGF0ZURlY29kZQogICAvU2l6ZSAyNwogICAvVyBbMSAyIDJdCiAgIC9Sb290IDI0IDAg\nUgogICAvSW5mbyAyMyAwIFIKPj4Kc3RyZWFtCnicY2Bg+P+fiYGbgQFEMDE6PWZgYGTgBxJO\np0FinEBW4g0gkV8BJJyTQcQzIFEgAWL9ARJxD0HETyCRsAZEHAYSKWFAIkcIRGgBidxIEFEA\nJPLqIRYxgghmxsIFQLHC7QwMANOPFawKZW5kc3RyZWFtCmVuZG9iagpzdGFydHhyZWYKMjkx\nMTEKJSVFT0YK","text/html":["<img src=\"https://cdn.kesci.com/upload/rt/FF283A9F399046CD90DBE1B1E0198048/t38fk4pom0.svg\">"],"text/plain":["plot without title"]},"metadata":{"application/pdf":{"height":300,"width":600},"image/jpeg":{"height":300,"width":600},"image/png":{"height":300,"width":600},"image/svg+xml":{"height":300,"isolated":true,"width":600}},"output_type":"display_data"}],"execution_count":24},{"cell_type":"markdown","metadata":{"id":"B8F9F949531243D882463C15842C1793","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"上面只考虑了估计 $\\mu$ 参数，下面我们增加难度，增加考虑估计 $\\sigma$ 参数。  \n\n我们假设 $\\mu$ 和 $\\sigma$ 的先验服从正态分布，即：  \n  - 对于 $\\mu$，其先验分布为 $\\mu \\sim N(500, 200)$  \n  - 对于 $\\sigma$，其先验分布为 $\\sigma \\sim N(100, 50)$"},{"cell_type":"code","metadata":{"collapsed":false,"id":"207778A26F3D48F39567376FA9461EE8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            设置网格范围和步长\n#                            1. 假设被试反应的反应时范围为 200 到 800 ms\n#                            2. 假设被试反应时的方差范围为 20 到 200\n# ---------------------------------------------------------------------------\n# n_step <- 20\n# mean_grid <- ...  请补充...\n# std_grid <- ...  请补充... \n\n# 生成网格数据\n# grid_data <- expand.grid(mean = ..., std = ...) 请补充...\nmean_mesh <- matrix(grid_data$mean, nrow = n_step, ncol = n_step)\nstd_mesh <- matrix(grid_data$std, nrow = n_step, ncol = n_step)","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"A1B4492D73CA4354839DDB88034A724B","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            设置网格范围和步长\n#                            1. 假设被试反应的反应时范围为 200 到 800 ms\n#                            2. 假设被试反应时的方差范围为 20 到 200\n# ---------------------------------------------------------------------------\nn_step <- 20\nmean_grid <- seq(200, 800, length.out = n_step)  \nstd_grid <- seq(20, 200, length.out = n_step)  \n\n# 生成网格数据\ngrid_data <- expand.grid(mean = mean_grid, std = std_grid)\nmean_mesh <- matrix(grid_data$mean, nrow = n_step, ncol = n_step)\nstd_mesh <- matrix(grid_data$std, nrow = n_step, ncol = n_step)","outputs":[],"execution_count":17},{"cell_type":"code","metadata":{"collapsed":false,"id":"0C951FF0A540412DAFAD04C0E00DBC15","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算先验概率\n#                            1. 设定先验概率服从正态分布\n#                            2. 先验均值为500，标准差为100\n#                            3. 先验均值的标准差为200，标准差的标准差为100\n# ---------------------------------------------------------------------------\n\n# prior_mean_mean <- ...\n# prior_mean_std <- ...        \n# prior_std_mean <- ...\n# prior_std_std <- ...\n\n# ...\n\n# 显示prior_grid的形状\ndim(prior_grid)","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"B1583583CC9E4243BB167829A56F7502","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算先验概率\n#                            1. 设定先验概率服从正态分布\n#                            2. 先验均值为500，标准差为100\n# ---------------------------------------------------------------------------\n\n# 设置先验概率的参数\nprior_mean_mean <- 500\nprior_mean_std <- 200       \nprior_std_mean <- 100\nprior_std_std <- 50\n\nmean_mesh <- seq(0, 1000, length.out = 20)  # 均值网格\nstd_mesh <- seq(0, 200, length.out = 20)   # 标准差网格\n\n# 计算先验概率（正态分布密度）\nprior_mean <- dnorm(mean_mesh, mean = prior_mean_mean, sd = prior_mean_std)\nprior_std <- dnorm(std_mesh, mean = prior_std_mean, sd = prior_std_std)\n\n# 创建先验概率网格（外积）\nprior_grid <- outer(prior_mean, prior_std, FUN = \"*\")\n\n# 显示prior_grid的维度\ndim(prior_grid)","outputs":[{"output_type":"display_data","data":{"text/html":"<style>\n.list-inline {list-style: none; margin:0; padding: 0}\n.list-inline>li {display: inline-block}\n.list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n</style>\n<ol class=list-inline><li>20</li><li>20</li></ol>\n","text/markdown":"1. 20\n2. 20\n\n\n","text/latex":"\\begin{enumerate*}\n\\item 20\n\\item 20\n\\end{enumerate*}\n","text/plain":"[1] 20 20"},"metadata":{}}],"execution_count":18},{"cell_type":"code","metadata":{"collapsed":false,"id":"527CE84B699245F39E5550307876018B","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算似然函数\n#                            1. 先计算一种参数条件下的似然值\n#                            2. 通过for循环计算所有参数条件下的似然值，并储存在likelihood_grid中\n# ---------------------------------------------------------------------------\n# 初始化似然网格\nlikelihood_grid <- matrix(0, nrow = n_step, ncol = n_step)\n\n# 填充似然网格\n\n# 查看网格形状\ndim(likelihood_grid)\n","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"A1D09E02113F43279D4D82F14A834931","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算似然函数\n#                            1. 先计算一种参数条件下的似然值\n#                            2. 通过for循环计算所有参数条件下的似然值，并储存在likelihood_grid中\n# ---------------------------------------------------------------------------\n\n# 初始化似然网格\nlikelihood_grid <- matrix(0, nrow = n_step, ncol = n_step)\n\n# 填充似然网格\nfor (mean_index in 1:n_step) {\n  mean <- mean_grid[mean_index]\n  for (std_index in 1:n_step) {\n    std <- std_grid[std_index]\n    # 计算每个数据点的正态密度并求乘积\n    likelihood_i <- prod(stats::dnorm(data, mean = mean, sd = std))\n    likelihood_grid[mean_index, std_index] <- likelihood_i\n  }\n}\n\n# 查看网格维度\ndim(likelihood_grid)","outputs":[{"output_type":"display_data","data":{"text/html":"<style>\n.list-inline {list-style: none; margin:0; padding: 0}\n.list-inline>li {display: inline-block}\n.list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n</style>\n<ol class=list-inline><li>20</li><li>20</li></ol>\n","text/markdown":"1. 20\n2. 20\n\n\n","text/latex":"\\begin{enumerate*}\n\\item 20\n\\item 20\n\\end{enumerate*}\n","text/plain":"[1] 20 20"},"metadata":{}}],"execution_count":19},{"cell_type":"code","metadata":{"collapsed":false,"id":"601787DE63284A629FB83B2FB26EA586","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算grid的后验概率\n# ---------------------------------------------------------------------------\n# posterior_grid <- ...\n\n# 归一化\n\n# 显示 posterior_grid 的形状\ndim(posterior_grid)","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"69F53FEEDA364C1EBA1DB2B33C1410E9","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算grid的后验概率\n# ---------------------------------------------------------------------------\n\nposterior_grid <- prior_grid * likelihood_grid\n\n# 归一化\nposterior_grid <- posterior_grid / sum(posterior_grid)\n\n# 显示 posterior_grid 的形状\ndim(posterior_grid)","outputs":[{"output_type":"display_data","data":{"text/html":"<style>\n.list-inline {list-style: none; margin:0; padding: 0}\n.list-inline>li {display: inline-block}\n.list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n</style>\n<ol class=list-inline><li>20</li><li>20</li></ol>\n","text/markdown":"1. 20\n2. 20\n\n\n","text/latex":"\\begin{enumerate*}\n\\item 20\n\\item 20\n\\end{enumerate*}\n","text/plain":"[1] 20 20"},"metadata":{}}],"execution_count":20},{"cell_type":"code","metadata":{"collapsed":false,"id":"61F2B1997BD5475BAC09D5A19747C813","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"##---------------------------------------------------------------------------\n#                            计算找到后验概率的最大值对应的参数\n# ---------------------------------------------------------------------------\n# max_idx <- ...\n# estimated_mean <- ...\n# estimated_std <- ...\n\n# 打印结果\ncat(sprintf(\"Estimated Mean: %f\\n\", estimated_mean))\ncat(sprintf(\"Estimated Standard Deviation: %f\\n\", estimated_std))","outputs":[],"execution_count":null},{"cell_type":"code","metadata":{"collapsed":false,"id":"C26B15DF2E604C5DAB1E98BC157F9C97","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 答案\n\n##---------------------------------------------------------------------------\n#                            计算找到后验概率的最大值对应的参数\n# ---------------------------------------------------------------------------\n\n# 找到posterior_grid中最大值的索引\nmax_idx <- which(posterior_grid == max(posterior_grid), arr.ind = TRUE)\n\n# 提取估计的均值和标准差\nestimated_mean <- mean_grid[max_idx[1, 1]]\nestimated_std <- mean_grid[max_idx[1, 2]]\n\n# 打印结果\ncat(sprintf(\"Estimated Mean: %f\\n\", estimated_mean))\ncat(sprintf(\"Estimated Standard Deviation: %f\\n\", estimated_std))","outputs":[{"output_type":"stream","name":"stdout","text":"Estimated Mean: 578.947368\nEstimated Standard Deviation: 452.631579\n"}],"execution_count":21},{"cell_type":"code","metadata":{"collapsed":false,"id":"574DF938B09E4FC283173C53650E8F12","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"library(tidyverse)\n# 绘制后验概率分布图\n# 创建数据框，包含三种不同类型的点及其坐标\nplot_data <- data.frame(\n  mean = c(prior_mean_mean, mean(data), estimated_mean),\n  std = c(prior_std_mean, sd(data), estimated_std),\n  type = factor(c(\"prior\", \"data\", \"max_posterior\"), \n                levels = c(\"prior\", \"data\", \"max_posterior\"))\n)\n\n# 绘制散点图\nggplot2::ggplot(plot_data, aes(x = mean, y = std, color = type)) +\n  ggplot2::geom_point(size = 3) +  # 添加散点\n  ggplot2::scale_color_manual(values = c(\"orange\", \"black\", \"red\")) +  # 设置颜色\n  ggplot2::xlab(\"Mean\") +  # x轴标签\n  ggplot2::ylab(\"Standard Deviation\") +  # y轴标签\n  ggplot2::ggtitle(\"Posterior Distribution\") +  # 图表标题\n  ggplot2::xlim(400, 800) +  # x轴范围\n  ggplot2::ylim(20, 200) +  # y轴范围\n  papaja::theme_apa() +\n  # 设置图例位置\n  ggplot2::theme(legend.position = \"right\") +\n  ggplot2::guides(color = guide_legend(title = NULL))  # 移除图例标题","outputs":[{"output_type":"stream","name":"stderr","text":"── \u001b[1mAttaching core tidyverse packages\u001b[22m ──────────────────────── tidyverse 2.0.0 ──\n\u001b[32m✔\u001b[39m \u001b[34mdplyr    \u001b[39m 1.1.4     \u001b[32m✔\u001b[39m \u001b[34mreadr    \u001b[39m 2.1.5\n\u001b[32m✔\u001b[39m \u001b[34mforcats  \u001b[39m 1.0.0     \u001b[32m✔\u001b[39m \u001b[34mstringr  \u001b[39m 1.5.2\n\u001b[32m✔\u001b[39m \u001b[34mggplot2  \u001b[39m 4.0.0     \u001b[32m✔\u001b[39m \u001b[34mtibble   \u001b[39m 3.3.0\n\u001b[32m✔\u001b[39m \u001b[34mlubridate\u001b[39m 1.9.4     \u001b[32m✔\u001b[39m \u001b[34mtidyr    \u001b[39m 1.3.1\n\u001b[32m✔\u001b[39m \u001b[34mpurrr    \u001b[39m 1.1.0     \n── \u001b[1mConflicts\u001b[22m ────────────────────────────────────────── tidyverse_conflicts() ──\n\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mfilter()\u001b[39m masks \u001b[34mstats\u001b[39m::filter()\n\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mlag()\u001b[39m    masks \u001b[34mstats\u001b[39m::lag()\n\u001b[36mℹ\u001b[39m Use the conflicted package (\u001b[3m\u001b[34m<http://conflicted.r-lib.org/>\u001b[39m\u001b[23m) to force all conflicts to become errors\nWarning message:\n“\u001b[1m\u001b[22mRemoved 1 row containing missing values or values outside the scale range\n(`geom_point()`).”\n"},{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"JVBERi0xLjcKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCj4+CnN0cmVhbQp4nJ1VyY7cOAy9+yt0tA9WRGq/FmYQIECALAXMoREEnV6C\nCdJZKp2ZfP48yrKsWnoOQcGG+ExKT+Qji5TBbya8vHHq5mH4PpCS3+GjenZt1Mcfg6kf5Tnc\nqftzYIl481yRpmBzDOpfYC/wfBqu3imjjbodyKiX6iT07fBafR8Ca0+sLOtsFeeoDSvHRlMS\nn7/UlzNK/x8hhIwOLhqfcR7CjmzwNDpGa5J/kie5qMl4xcFptkk9dEjGaVaRzeXwU3Pxv6nA\noNhn7Xzc4k/tFrEriS18lwWIsjGaHSuOpBM78NiQoAPiKVttQrhgLxE3KwIqAYmyedvi1G4h\nu1KXxqJmvauuuZi1WhbnLa6WQfaoTp9RbqOtoRykHqcLXHu3xz465pxwkUWYzbRJe598dspG\np4mdZH3/MDy7n81sUOH9/TB6M+0/DbOBq/dIQsZ9hMD+drgayZjp3f4FuAvsok8V95dxrv5/\n7kGb1fogHz5ob0EpgrxL3T0rIDetPpuAqs8KdD7kkyZrN58V6Hw8Q2Zxc6l2yelaprP0W2hN\ngldkqcDRVaAaQwEekHEKiGnAFkLOas+dTwM2HyYqfbA5bUjnFVFF0O68GrJ5WQcOljqvDekv\n8rtSEtmTD4zERNbJMYbBqZSuRofyz84nhqrWVaiSoKSjJ4deMYtWYnNJnWrWdhYyXFmgutnj\nytZBBC47nVKIlM/Pf3k3zZzGa7zj+KUqVOLnshch0ubkHOYf9sOmyA82uRrfPk5dnLxvy/u6\n7HdYDCU+fxTkrgD//N0d9zgNWC/I144ALtVGscW0cCnhOhhkGSAvSs2kgw+/NYeRcp2TYsbA\nyjLsGhB1img4TDIp4Lm9BNysCGYdSmShlHWHE7MFXBq6qxNUjv+VjQUmdjK0nXpmF/+eBIYW\nCt02ODFX/53kqSXomAN6OjvfkYB4I/qlHXpmLwE9C5kmoW1wbDX33ZFcMTdyChhBRbTNcmS1\ntSytyCg3J1mfS/fbZP14mJggIXJQUDGrgjG4MGJzHbK38u1aXo/TbB2WF90eissvSJHG97Is\nR2DjMP4ooER7SPmpg0GccmbKtQ2biekvY0q6kbzO7GOqffRqmknO4HKGNXIG1ncCHCbY6I/6\nvZgKn730FEiVTyVqKGGFVV7gDxLxU17Ll3UbvzXZ6+E/9DXxfAplbmRzdHJlYW0KZW5kb2Jq\nCjUgMCBvYmoKICAgODgxCmVuZG9iagozIDAgb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwKICAg\nICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+CiAgID4+CiAgIC9Gb250IDw8CiAgICAgIC9mLTAt\nMCA3IDAgUgogICA+Pgo+PgplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvT2JqU3RtCiAgIC9M\nZW5ndGggOSAwIFIKICAgL04gMQogICAvRmlyc3QgNAogICAvRmlsdGVyIC9GbGF0ZURlY29k\nZQo+PgpzdHJlYW0KeJwzUzDgiuaK5QIABjgBXQplbmRzdHJlYW0KZW5kb2JqCjkgMCBvYmoK\nICAgMTYKZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSCiAgIC9GaWx0ZXIgL0Zs\nYXRlRGVjb2RlCiAgIC9MZW5ndGgxIDEwNDU2Cj4+CnN0cmVhbQp4nOU6e3wTVbrnm5lMkibT\nPJqkaZM2k05bHim0NBQoVjJCG4tVSQvFpghNoUDxAZUUBFFaBLQWkLJ22YsodBXdhUWYQoXi\n6rU+FwWu3V117666VFf3ugoWWV8rNLnfTNIHPvbe3733vzvNmXPO953zne98r/OdAQKEkATS\nTGjCL7q9tuGd3j3jCEneSghVvWh1I3/dn8q+JSTlY+y3LGlYevv62mMmQpwNhKi7lt62don0\n6NddSOEgIba++sW1dTqypZOQzEyETapHANdO78b+zdjPrL+9cc2mG3VN2GzG/prbViyqJXC9\nBvvfYP/u22vXNNDb6A8JyWrEPt+wcnHDwKFrZ2K/nRB6BqHIGUJU+aoNyK2auESOYlU0S2s1\nKppBkO9M7hmTGQoLTV6Td0JektvkTjK5TWeYxZd2X0+fUW34tklVcCmZ+RsSJ0AqoueYNKTl\nJAvEAnOSPdliIUlq1p6kx80ksUxaeqohHExNpS2W5MagBdcJB5eqwaaGsHqjmlLTKcTnnT9/\nvofYfR6TmRTac7GCZGV5/DMXKq8JeWAhQkb2qMk2b/6kgonZQgarFpLcVjc9yZtvY9IiX3/6\nykX+WOG5Hfue2DpzvU/Kpd0DGx2rDvV+DafORsnBx62/Pbxr877xk6mvdkWuqf4C5RBA3gXV\n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\nsf0Amjgd0ghRoAf+/eK46qQdwE+I3/gldnbqnjs3rpC9h1n3uIIdnQm4zNegEc54GZ0oSjCj\nXm+r9NbT4EUWxf22rDh1zs6iaSD7iJvLGjbYPZn5jA8CALK3YDCM7gK7r1PPn/qr9z84oVsh\nF20LBm087mXwr8OEkCXxvjNxf1y3fZT9ZXxuHqFM64It6dng4geNYXAXFE2et9BY2wp05t9e\neWTJ2ervIYjmUMfUPI8hcs6cExfMBXHJXBJXzBWxZJbEilkRPzI/Rq5M4hhEI7mWpFqSz5d0\nvkRmjFwfEscgGsW1FNWSzJJYsR9Ffkr2XJLninOqlMPeFHmTR9YeiS2zpRzWKtJK9inJp2L/\nivzXnF+nfPamyFvN2jpp2Y8kP4r/MQa6/NstUxtoXu791dcQYmvTUKWeUjdHh/e587MnVXp+\nAYo0sbwKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iagogICAzNTcKZW5kb2JqCjE1IDAgb2Jq\nCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvcgogICAvRm9udE5hbWUgL0JDWElKVytMaWJlcmF0\naW9uU2FucwogICAvRm9udEZhbWlseSAoTGliZXJhdGlvbiBTYW5zKQogICAvRmxhZ3MgMzIK\nICAgL0ZvbnRCQm94IFsgLTU0MyAtMzAzIDEzMDEgOTc5IF0KICAgL0l0YWxpY0FuZ2xlIDAK\nICAgL0FzY2VudCA5MDUKICAgL0Rlc2NlbnQgLTIxMQogICAvQ2FwSGVpZ2h0IDk3OQogICAv\nU3RlbVYgODAKICAgL1N0ZW1IIDgwCiAgIC9Gb250RmlsZTIgMTEgMCBSCj4+CmVuZG9iago3\nIDAgb2JqCjw8IC9UeXBlIC9Gb250CiAgIC9TdWJ0eXBlIC9UcnVlVHlwZQogICAvQmFzZUZv\nbnQgL0JDWElKVytMaWJlcmF0aW9uU2FucwogICAvRmlyc3RDaGFyIDMyCiAgIC9MYXN0Q2hh\nciAxMjAKICAgL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgogICAvRW5jb2RpbmcgL1dpbkFuc2lF\nbmNvZGluZwogICAvV2lkdGhzIFsgMjc3LjgzMjAzMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDU1Ni4xNTIzNDQg\nNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgNzIyLjE2Nzk2OSAwIDAgMCAwIDAgMCAwIDAgODMzLjAwNzgxMiAwIDAg\nNjY2Ljk5MjE4OCAwIDAgNjY2Ljk5MjE4OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2LjE1\nMjM0NCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAw\nIDAgMCAyMjIuMTY3OTY5IDAgMCAwIDgzMy4wMDc4MTIgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0\nIDU1Ni4xNTIzNDQgMCAzMzMuMDA3ODEyIDUwMCAyNzcuODMyMDMxIDU1Ni4xNTIzNDQgNTAw\nIDAgNTAwIF0KICAgIC9Ub1VuaWNvZGUgMTMgMCBSCj4+CmVuZG9iagoxMCAwIG9iago8PCAv\nVHlwZSAvT2JqU3RtCiAgIC9MZW5ndGggMTggMCBSCiAgIC9OIDQKICAgL0ZpcnN0IDIzCiAg\nIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nFWRT2uEMBDF736KuRT0oklW3T/I\nHlZhKaUgbk8tPYQ4uIFiJIml++2bxHVLCTnMjzfz3iQUSERLKEjEgOZlRLewKfdRVUH2dpsQ\nspYPaCIAyF5kb+ADGBDo4DOgWs2jBRodj6Gj1aqfBWqIBZdaAU3pLs0hvlo7mUOWBTpoPl2l\nMKnSQ5IsYzRyK9XYcIsQNwdGWEH2bEcJI/n2PVnn/yWCJ+fqW1uu0UfwoQJ4xV7yk/pxSYk7\nBcnDXfOO1skN5A/9Wat5gqryha8Xj0BXdHFU89FM3kvcVvwMVs+4VrVTNfgtBXbnk4cus+cd\nGjVrgQY2D8+LaxR2iW7cB/xbr+aWf6nhvp17/PtyTvQLnU9uJAplbmRzdHJlYW0KZW5kb2Jq\nCjE4IDAgb2JqCiAgIDI3NQplbmRvYmoKMTkgMCBvYmoKPDwgL1R5cGUgL1hSZWYKICAgL0xl\nbmd0aCA4MAogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvU2l6ZSAyMAogICAvVyBbMSAy\nIDJdCiAgIC9Sb290IDE3IDAgUgogICAvSW5mbyAxNiAwIFIKPj4Kc3RyZWFtCnicY2Bg+P+f\niYGLgQFEMDEyP2ZgYGTgBxLMZ0FiHECWEpDFyBIAIi4BCVVPEOs5kJC/CiLeAgnFhSBiB8QU\nRhDBzKh2ESim9oKBAQCNFA0kCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjk5NjAKJSVF\nT0YK","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/574DF938B09E4FC283173C53650E8F12/t3anfypl3v.svg\">"},"metadata":{"image/png":{"width":420,"height":420},"image/jpeg":{"width":420,"height":420},"image/svg+xml":{"width":420,"height":420,"isolated":true},"application/pdf":{"width":420,"height":420}}}],"execution_count":23},{"cell_type":"markdown","metadata":{"id":"CDB3FFA32EAC48C3B6AE8257F27EF9E8","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 网格近似的局限性  \n\n😎或许你也注意到了，上述模型还是只有一到俩个参数的情况  \n\n当模型的参数越来越多时，网格近似就会遇到“维数灾难问题”  \n\n在这里我们只需要简单理解为：当模型参数越来越多时，网格近似需要的计算成本也越来越高。"},{"cell_type":"markdown","metadata":{"id":"211BC9AD226F4016A6CE04F811E4ABEF","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## Markov chains via PyMC  \n\n**“Markov chain Monte Carlo(MCMC)”**  \n\n在计算具有多个参数的后验分布时，有一种有效的方法叫做马尔科夫链蒙特卡洛(MCMC)，可以用于模拟和**近似**后验概率分布  \n\n- 前一个MC中的Markov 来源于一个俄国数学家的名字 Andrey Markov。  \n  - 他研究并提出一种数学方法，被命名为马尔科夫链。用于描述状态空间中经过从一个状态到另一个状态的转换的随机过程。  \n  - 该过程要求具备 **“无记忆性”**，即下一状态的概率分布只能由当前状态决定，在时间序列中它前面的事件均与之无关。  \n  - 马尔可夫链在机器学习和深度学习中非常广泛，例如分层隐马尔可夫模型HMM (Hidden Markov Model)和卡尔曼滤波模型。  \n- 而后一个MC (Monte Carlo)则是一个赌场的名字。据说来自于 20 世纪 40 年代绝密核武器项目的，其中斯坦尼斯拉夫-乌拉姆、约翰-冯-诺伊曼和他们在洛斯阿拉莫斯国家实验室的合作者使用马尔可夫链来模拟和更好地理解中子旅行现象（Eckhardt，1987）。洛斯阿拉莫斯团队将他们的工作称为 \"蒙特卡洛\"，据说这一选择是受到法国里维埃拉富丽堂皇的蒙特卡洛赌场的启发。  \n\n\n<table>  \n    <tr>  \n        <td><img src=\"https://cdn.kesci.com/upload/s2ld84yupl.jpg?imageView2/0/w/320/h/320\" alt=\"图片1\"></td>  \n        <td><img src=\"https://cdn.kesci.com/upload/s2ld8ix3d7.jpg?imageView2/0/w/320/h/320\" alt=\"图片2\"></td>  \n    </tr>  \n</table>  \n"},{"cell_type":"markdown","metadata":{"id":"85B4B941DF774987A468C79094ACCB73","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n**MCMC的采样特点**  \n\n1. 和网格法类似，MCMC并不会从后验分布$f(\\theta|y)$中直接采样  \n2. 并且区分与网格法，MCMC的样本不是互相独立的 ———下一个样本值依赖于上一个样本值  \n\n> source: https://zhuanlan.zhihu.com/p/250146007  \n"},{"cell_type":"markdown","metadata":{"id":"DBB01F79B8DB469E99B4BCEC8BEBB3CE","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"假设后验分布仍是关于$\\theta$的分布，$\\left\\lbrace \\theta^{(1)}, \\theta^{(2)}, \\ldots, \\theta^{(N)} \\right\\rbrace$ 构成了一个长度为N的**马尔科夫链**  \n\n- ——> 其中，$\\theta^{(2)}$ 的结果依赖于 $\\theta^{(1)}$，$\\theta^{(3)}$ 的结果依赖于 $\\theta^{(2)}$.... $\\theta^{(3)}$ 的结果依赖于 $\\theta^{(i+1)}$ 的结果依赖于 $\\theta^{(i)}$  \n- ——> 总的来说，$\\theta^{(i+1)}$ 的结果依赖于 $\\theta^{(i)}$和收集到的数据y  \n\n$$  \nf\\left(\\theta^{(i + 1)} \\; | \\; \\theta^{(1)}, \\theta^{(2)}, \\ldots, \\theta^{(i)}, y\\right) = f\\left(\\theta^{(i + 1)} \\; | \\; \\theta^{(i)}, y\\right)  .  \n$$  \n\n> 注意：$\\theta^{(i+1)}$ 依赖于 $\\theta^{(i)}$，而 $\\theta^{(i)}$ 又依赖于$\\theta^{(i-1)}$  \n> 然而，$\\theta^{(i+1)}$ 独立于 $\\theta^{(i-1)}$，这是马尔科夫链 \"**无记忆性**\"的特点。"},{"cell_type":"markdown","metadata":{"id":"9EB9460C96AB4CC3B2240309C3E154E2","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n**好消息是：**  \n\n我们无需从零开始编写这些复杂的算法。目前已经有不少高效的工具，它们可以帮助我们轻松实现复杂的MCMC采样的问题，从而帮助我们实现复杂的贝叶斯模型。  \n\n**概率编程语言：**  \n\n这些工具被统称为**概率编程语言（Probability Programming Languages）**，简称PPL。它们包括但不限于以下几种：  \n\n\n- [**Stan**](https://mc-stan.org/)  \n\n![Image Name](https://cdn.kesci.com/upload/sl1bc1icca.png?imageView2/0/w/640/h/640)  \n\n\n- [**PyMC**](https://www.pymc.io/welcome.html)  \n\n![Image Name](https://cdn.kesci.com/upload/sl1bdlkzgo.png?imageView2/0/w/640/h/640)  \n\n- [**JAGS**](https://sourceforge.net/projects/mcmc-jags/)  \n\n![Image Name](https://cdn.kesci.com/upload/sl1c6xm3bz.png?imageView2/0/w/640/h/640)  \n\n\n- [**BUGS (Bayesian Inference Using Gibbs Sampling)**](http://www.bayesianscientific.org/resource/bugs-openbugs-winbugs/)  \n\n![Image Name](https://cdn.kesci.com/upload/sl1bci6132.png?imageView2/0/w/640/h/640)  \n\n\n- [**julia turing**](https://turinglang.org/docs/tutorials/docs-00-getting-started/index.html)  \n\n![Image Name](https://cdn.kesci.com/upload/sl1bg8c98q.png?imageView2/0/w/640/h/640)  \n"},{"cell_type":"markdown","metadata":{"id":"EBB5EDBF76CB4AEC81178ADF5DB5422F","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**不同概率编程语言对比：**  \n以下代码均基于同一数据：假设进行了 n=10 次试验，成功 k=6 次，先验设定为 Beta (α=2, β=2)（弱信息先验）。  \n![Image Name](https://cdn.kesci.com/upload/1758942482812_4.png?imageView2/0/w/960/h/960)  \n\n![Image Name](https://cdn.kesci.com/upload/1758942536502_1.png?imageView2/0/w/960/h/960)  \n\n![Image Name](https://cdn.kesci.com/upload/1758942559911_2.png?imageView2/0/w/960/h/960)  \n\n![Image Name](https://cdn.kesci.com/upload/1758942598592_3.png?imageView2/0/w/960/h/960)  \n\n![Image Name](https://cdn.kesci.com/upload/1758942612051_4.png?imageView2/0/w/960/h/960)  \n\n"},{"cell_type":"markdown","metadata":{"id":"3F2FAE59A0584C13A587716E91695C6C","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"| 编程语言   | 核心语法特点                     | 先验定义                  | 似然定义                   | 后验推断方法       | 后验均值 |  \n|------------|----------------------------------|---------------------------|----------------------------|--------------------|------------------|  \n| Stan       | 分块定义（data/parameters/model）| theta ~ beta(2, 2)        | k ~ binomial(n, theta)     | NUTS（默认）       | ~0.57            |  \n| PyMC       | 上下文管理器（with Model ()）    | pm.Beta('theta', 2, 2)    | pm.Binomial('y', n, theta, observed=k) | NUTS（默认） | ~0.57            |  \n| JAGS       | BUGS 兼容语法                    | theta ~ dbeta(2, 2)       | k ~ dbin(theta, n)         | Gibbs 采样         | ~0.57            |  \n| BUGS       | 图形界面 + 声明式语法            | theta ~ dbeta(2, 2)       | k ~ dbin(theta, n)         | Gibbs 采样         | ~0.57            |  \n| Julia Turing| 宏定义（@model）                 | theta ~ Beta(2, 2)        | k ~ Binomial(n, theta)     | NUTS（默认）       | ~0.57            |"},{"cell_type":"markdown","metadata":{"id":"3F6F4D0F86E243B4A8435B817E2E0826","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**课程预告：**  \n\n- 在接下来的课程中，我们将深入探讨 **马尔可夫链蒙特卡洛(MCMC)** 方法的具体原理。MCMC是一种强大的统计模拟技术，用于估计贝叶斯模型中的参数。  \n     \n- 我们将重点介绍如何使用 **Stan** 这一概率编程语言来进行MCMC模拟的基本过程。通过Stan，我们可以更加高效地进行贝叶斯统计分析，无需担心底层算法的实现细节。"},{"cell_type":"markdown","metadata":{"id":"4880A5A574924AFD934C5535577B1B61","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## What is Stan?  \n\n![Image Name](https://cdn.kesci.com/upload/sl1bc1icca.png?imageView2/0/w/640/h/640)  \n\nStan 是由Stan Development Team精心打造的一款基于 C++ 的强大软件，支持多语言接口，如 R、Python 和 Julia 等。它采用了高效的采样算法，如哈密尔顿蒙特卡洛（HMC）和无转向采样器（NUTS），这些算法使其在处理复杂模型时表现出色，比如层次模型和时间序列模型。Stan 的语法设计严谨，强调模型的可扩展性，使其成为构建复杂统计模型的理想选择。  \nR 中的 Stan 是通过rstan或cmdstanr包在 R 环境中实现的**概率编程语音(probabilistic program language, PPL)** 的工具，依托 Stan 核心的 C++ 计算框架，支持用户以声明式语法定义贝叶斯模型，并借助高效的马尔可夫链蒙特卡洛（MCMC）算法完成后验推断，无缝衔接 R 的数据分析与可视化生态。  \n\n特点：  \n\n- 生态融合性强：与 R 数据处理工具（tidyverse等）和可视化包（bayesplot）深度集成，支持数据格式无缝转换与一键可视化。  \n \n- 推断算法高效可靠：默认使用 NUTS 算法，自适应优化采样过程，支持并行计算与收敛性诊断，适合复杂模型。  \n\n- 模型语法严谨可扩展：采用分块语法明确变量类型，支持自定义函数与外部计算集成，适配各类模型需求。  \n\n- 社区支持完善：背靠 Stan 官方社区，提供丰富教程、案例与工具包（如shinystan），方便学习与应用。  "},{"cell_type":"markdown","metadata":{"id":"1659F76DDEEE4DA484D2EC23C1F54FA4","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"下面展示了如何使用 rstan，通过简单的代码实现之前对于 Beta-Binomial 模型的后验推断。后面的课程学习中我们会不断地使用这个工具😜。"},{"cell_type":"code","metadata":{"collapsed":false,"id":"7DEB62B301B34E19BE6E54AAD0C11B7A","jupyter":{"outputs_hidden":false},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"skip"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 生成模拟数据\nn_trials <- 100\nn_successes <- 90","outputs":[],"execution_count":14},{"cell_type":"code","metadata":{"collapsed":false,"id":"192AC38F58684E22870695725BD6DCFA","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 使用Stan语法建构模型\nstan_model_code <- \"\ndata {\n  int<lower=0> n_trials;       // 试验次数\n  int<lower=0, upper=n_trials> n_successes;  // 成功次数\n}\n\nparameters {\n  real<lower=0, upper=1> p;    // 成功概率参数\n}\n\nmodel {\n  // 设置先验\n  p ~ beta(70, 30);\n  \n  // 设置似然\n  n_successes ~ binomial(n_trials, p);\n}\n\"\n","outputs":[],"execution_count":15},{"cell_type":"code","metadata":{"id":"36403538717C422C80F844B689387EA6","notebookId":"68d7f5f0641ee0c1d9bb01cc","jupyter":{},"collapsed":false,"scrolled":false,"tags":[],"slideshow":{"slide_type":"slide"},"trusted":true},"source":"# 准备数据\nstan_data <- list(\n  n_trials = n_trials,\n  n_successes = n_successes\n)\n\n# 拟合模型\nfit <- stan(\n  model_code = stan_model_code,      # 定义的模型或模型文件路径\n  data = stan_data,                  # 输入数据\n  chains = 4,                        # 马尔可夫链数量\n  iter = 2000,                      # 总迭代次数（每个链）\n  warmup = 1000,                     # 热身迭代次数（不保存）\n  cores = 2                          # 使用的CPU核心数\n)","outputs":[],"execution_count":16},{"cell_type":"code","metadata":{"collapsed":false,"id":"533BB5AC945546F1B5AA416CB63BFF1C","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 显示采样结果\nprint(fit)","outputs":[{"output_type":"stream","name":"stdout","text":"Inference for Stan model: anon_model.\n4 chains, each with iter=2000; warmup=1000; thin=1; \npost-warmup draws per chain=1000, total post-warmup draws=4000.\n\n       mean se_mean   sd    2.5%     25%     50%     75%   97.5% n_eff Rhat\np       0.8    0.00 0.03    0.74    0.78    0.80    0.82    0.85  1438    1\nlp__ -100.6    0.02 0.73 -102.75 -100.77 -100.32 -100.13 -100.08  1849    1\n\nSamples were drawn using NUTS(diag_e) at Sun Sep 28 08:43:16 2025.\nFor each parameter, n_eff is a crude measure of effective sample size,\nand Rhat is the potential scale reduction factor on split chains (at \nconvergence, Rhat=1).\n"}],"execution_count":17},{"cell_type":"code","metadata":{"collapsed":false,"id":"D8D5BE8EB200434EA3A12BDE0665B277","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 绘制后验分布\nidata <- rstan::extract(fit)\nposterior_df <- data.frame(p = idata$p)\n\n#后验分布图\nggplot2::ggplot(posterior_df, aes(x = p)) +\n  ggplot2::geom_density(fill = \"orange\", alpha = 0.5) +\n  ggplot2::labs(title = \"Posterior\", x = \" \", y = \" \") +\n  ggplot2::scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa()","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"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\nlcdQ5tFrlxYjZJ7qquD5rmOfYbVpE3GLJUGq0pySqKOzElF1q2I53UHzWfeh2aTeI/Y1Yt46\nHY6oHFTlO4m9DkrprHMT6uF+xr5ZrHJFInPfLD5S2E7NVXxbZENoWaLjYNVPeTA4TGmSyoBu\nUjUCAdslWMeXkY98vIN1fBkpQa5dB+1QjRLy3bBu8IuvzrzwtnRh+dDmHSTEprp+Ux3m6J3J\ng+/o5MWdJJTdxiVziAbd2hDxRURnoam5Z2e7HRzfGAN1Q6gZ9/G85vSyO2+Dfc/o6mkHBTFo\n6eZxGMnPS04lMoTK85azKcJ1Jr8afahOQCSel5y+Lehgpccl51DI6bwm0KuE8VgFCWbf0Sev\nnVSxfCntOT+B5eztOJ+PGzZy/uXT9w5+3JH4lmO/tPjoSUf6t0867jcT95uJ+83E/WbifjNx\nv5m430yc95uJ+83E/WbifjNxv5m430zcbybuNxP3m4n7zcT9ZuJ+M3G/mbjfTNxvJu43E/eb\nifvNxHm/mbjfTNxvJu43E/ebifvNxP1m4v/lzYT/NYr/+gHE49+i2O8q3p8/+ccp2C15J5Od\nPv3Lh2/PX705mH2uxdzf/xzH80dlQ1WvJTIL341x5s3747O3L+klnfl88/Z4lV6/+Q5z481h\nQmw733x9vGrEXqTpmYn85HdZH/z6DeZVzsd/WHAoU/p0Hc8HI18cbsJCMCf/bPIAfmzC5w40\n6meTB6D9eGzxJ1s3cijKfjzmz2ap+/2qsjVzv/dP4KNPdP/Aq/pnoyfy8WKK30f82OqJfNRK\niQjd6Nnqifxkkv/rEettBMiUDzYK60WF1w8/O+MvX6F9ev3VGxggC3iVm5R4mvpN+6XfzF/8\nZvobWoFmtGdZ9vSKCoaIYJRtFTQ34c2gyp/b3mnb4wcv+pjvUxBKw2XtlhfjEL5yS0wEmTQ5\n18M8f2RBeHq0zDvixgoOPvvy1e9fv+T26u+vS3/1w+uXml794/UL/v4NgQ+v8fNfX7/s3394\nLOnz418r+hLFCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iagogICA0MzYzCmVuZG9iagozIDAg\nb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwKICAgICAgL2EwIDw8IC9DQSAxIC9jYSAxID4+CiAg\nICAgIC9hMSA8PCAvQ0EgMC41MDE5NjEgL2NhIDAuNTAxOTYxID4+CiAgID4+CiAgIC9Gb250\nIDw8CiAgICAgIC9mLTAtMCA3IDAgUgogICA+Pgo+PgplbmRvYmoKOCAwIG9iago8PCAvVHlw\nZSAvT2JqU3RtCiAgIC9MZW5ndGggOSAwIFIKICAgL04gMQogICAvRmlyc3QgNAogICAvRmls\ndGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJwzUzDgiuaK5QIABjgBXQplbmRzdHJlYW0K\nZW5kb2JqCjkgMCBvYmoKICAgMTYKZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBS\nCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCiAgIC9MZW5ndGgxIDY0NDgKPj4Kc3RyZWFtCnic\n5Th7fBNltufMTF59MEmbpKEBMunQWkih0FCgbKVj28TWqqSUaAYEEihYUKGSoqALhMuyQoBt\n0S57ERSuq64gyhQQio9rXe968cFP7tVddxeU6uquurBVfK2wTfbMJC3Ve/V393fvf/ebfI/z\n+M53vvP45psAAkAGxIAFYeFtkdbTtgceBDDeBMDMXnhHm3DN7xsuEkM3wZsWt95829rIUQtA\ntgRgOHLzrasX8wFvnCQcIFhpWRRpzoQtXQDWzwk3uYUQ2Z3sVgBbCcGjW25rW1XxM72f4ADB\nlbcuXxgBmHqGYOIB6bbIqlZ2Lfs+wa8RLLSuWNTa/+TV9QSfA2BrgIGTALoy3XrS1gAuKZvR\n61g9azLqWI5QVSdLT1pysKLC4rV4J07IdVvcuRa35SS36NKua9mTuvUX1+nKL+VxH5FwkhVI\nnuNE3Q7IhDwolqw5+izQg2O4iY/KJgNri8rscKjygKPKM0QomhmxgLGYc9xlOezA2FuWw4lf\nf/bZ5+cRvj5/bNtDj26/b++eTuaFxJ7EVlyBC/EWXJq4N7ETJ2JO4kLi1cSbiY9xBCDMJB1G\n0n5GwDypPCfXkWe1Qq5B78jNArDn6rmRo/JJnfx81mrNa5OttNeofLMB7QaMGjYYGIOqonfu\n3LlpNaHCUapqm6dpS09OhdaQ3lYQC4qumGL3lk0un1QkFugNYq7b5mYne8vs3MjEV3/+1QXh\naMW57Q8/srV+bZVSyrr7NzhXPnnqK3z1bBIO/Nz2Hwd3bnx4/BTmy52Jq2Z/TrrvBuB40j0D\nPJKVMzJMZpaO41i93oiAbTI4yHoW8DqqvN5Sr2pCi5cM6C13W3TlhV6L27Ybb078Eq97FG/c\n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\njzZNK0WRpu6Swz60bD8gAdMiLQQResi/n8FVJ+2Q+OG1XwMmO3cvnTUBsg8/yx4DaGOVx2W+\neYkw4sVYUZSgjAz3VfrLaXAiI3O/LgGnzupZNA1kn5Rcgl9h86zmEZ8EAGTvXqE39gKb73PP\nUn9z7gcntAFy0bagUFO718G9DRNClszbTlHehHVLtr+Kr9UhlGld8JHkrHBxg0Q/2AuKJs9b\naLRuBVr1L1fs2TJqeR28aHaxNM8pEFfMVeSCuSAuMTEF0mvW68hH5mOs4T5l7FMxV5EPOjEF\n0dS7xBSI98z7WMP7HuK+dcl6GfUT66d0kfuJ45Xi7B+zkjfvaUzpgdJ84mSMxccbutlFV/p+\nAUjDjdgKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iagogICAyOTIKZW5kb2JqCjE1IDAgb2Jq\nCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvcgogICAvRm9udE5hbWUgL0FDTlBUTytMaWJlcmF0\naW9uU2FucwogICAvRm9udEZhbWlseSAoTGliZXJhdGlvbiBTYW5zKQogICAvRmxhZ3MgMzIK\nICAgL0ZvbnRCQm94IFsgLTU0MyAtMzAzIDEzMDEgOTc5IF0KICAgL0l0YWxpY0FuZ2xlIDAK\nICAgL0FzY2VudCA5MDUKICAgL0Rlc2NlbnQgLTIxMQogICAvQ2FwSGVpZ2h0IDk3OQogICAv\nU3RlbVYgODAKICAgL1N0ZW1IIDgwCiAgIC9Gb250RmlsZTIgMTEgMCBSCj4+CmVuZG9iago3\nIDAgb2JqCjw8IC9UeXBlIC9Gb250CiAgIC9TdWJ0eXBlIC9UcnVlVHlwZQogICAvQmFzZUZv\nbnQgL0FDTlBUTytMaWJlcmF0aW9uU2FucwogICAvRmlyc3RDaGFyIDMyCiAgIC9MYXN0Q2hh\nciAxMTYKICAgL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgogICAvRW5jb2RpbmcgL1dpbkFuc2lF\nbmNvZGluZwogICAvV2lkdGhzIFsgMjc3LjgzMjAzMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDI3Ny44MzIwMzEgMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCAwIDAgNTU2LjE1MjM0\nNCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgMCAwIDAgNjY2Ljk5MjE4OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw\nIDAgMCAwIDAgMCAwIDAgNTU2LjE1MjM0NCAwIDAgMCAyMjIuMTY3OTY5IDAgMCAwIDAgMCA1\nNTYuMTUyMzQ0IDAgMCAzMzMuMDA3ODEyIDUwMCAyNzcuODMyMDMxIF0KICAgIC9Ub1VuaWNv\nZGUgMTMgMCBSCj4+CmVuZG9iagoxMCAwIG9iago8PCAvVHlwZSAvT2JqU3RtCiAgIC9MZW5n\ndGggMTggMCBSCiAgIC9OIDQKICAgL0ZpcnN0IDIzCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2Rl\nCj4+CnN0cmVhbQp4nFWRQWuEMBCF7/6KuRT0okl0XXeRPazCUkpB3J5aeggxuIFiJIml++87\n0dVScpqPN3nvJRRIQHPYkYABzfKA7iHND0FZQvJ2HyUkDe+lDQAgeVGdhQ9gQKCFzxlVehoc\n0OB0mjcao7tJSAOh4MpooDEt4gzCm3OjPSbJTHvDx5sSNtamj6LlGiO5U3qouZMQ1kdG2I4c\nWEGKLGX5e7Te/5cIntDVrzbcSB/Bh5rBq+wUP+sfTErw7BnBQmTLOziUW8g2/cXoaYSy9IOf\nF4+ZruiK1PDBjt5L3Ff8DM5Mcp0qVNXyWwnZXs4eYmbPW2n1ZIS0kG6eV1wUbolu8QP+1au4\n41+6f7TDx3+UQ9Evpt9uLQplbmRzdHJlYW0KZW5kb2JqCjE4IDAgb2JqCiAgIDI3NQplbmRv\nYmoKMTkgMCBvYmoKPDwgL1R5cGUgL1hSZWYKICAgL0xlbmd0aCA3OQogICAvRmlsdGVyIC9G\nbGF0ZURlY29kZQogICAvU2l6ZSAyMAogICAvVyBbMSAyIDJdCiAgIC9Sb290IDE3IDAgUgog\nICAvSW5mbyAxNiAwIFIKPj4Kc3RyZWFtCnicY2Bg+P+fiYGLgQFEMDEK1jEwMDLwAwnBdJAY\nB5ClpgskhERBxHQgoaEBYq0BEsplIKIPSKgygggJiCmMIIKZUXMDUEzzOAMDANdqCQoKZW5k\nc3RyZWFtCmVuZG9iagpzdGFydHhyZWYKMTA2OTUKJSVFT0YK","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/D8D5BE8EB200434EA3A12BDE0665B277/t3aiwgx97y.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":18},{"cell_type":"code","metadata":{"collapsed":false,"id":"8DC40F17A79942D5A9DA63A371ECCC40","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 设置参数\nalpha_prior <- 70\nbeta_prior <- 30\n\n# 计算后验Beta分布参数\nalpha_posterior <- alpha_prior + n_successes\nbeta_posterior <- beta_prior + (n_trials - n_successes)\n\n# 生成x轴数据\nx <- seq(0.5, 1, length.out = 100)\n\n# 创建先验和后验分布的数据框\nprior_data <- data.frame(\n  x = x,\n  density = stats::dbeta(x, alpha_prior, beta_prior),\n  type = paste0(\"Prior Beta(\", alpha_prior, \",\", beta_prior, \")\")\n)\n\nposterior_conj_data <- data.frame(\n  x = x,\n  density = stats::dbeta(x, alpha_posterior, beta_posterior),\n  type = paste0(\"Posterior Beta(\", alpha_posterior, \",\", beta_posterior, \") from conjugated prior\")\n)\n\n# 合并数据\nplot_data <- rbind(prior_data, posterior_conj_data)\n\n# 创建基础绘图\np <- ggplot2::ggplot(plot_data, ggplot2::aes(x = x, y = density, color = type, linetype = type)) +\n  ggplot2::geom_line(size = 1) +\n  ggplot2::scale_color_manual(values = c(\"green\", \"red\")) +\n  ggplot2::scale_linetype_manual(values = c(\"solid\", \"dashed\")) +\n  ggplot2::labs(title = \"Posterior results\", x = NULL, y = NULL) +\n  ggplot2::scale_y_continuous(expand = c(0, 1)) +\n  papaja::theme_apa() +\n  ggplot2::theme(legend.position = \"right\") # +\n  # ggplot2::guides(color = guide_legend(title = NULL))  # 移除图例标题\n\n# 从模型中提取后验样本并添加到图中\nposterior_samples <- posterior_df  # 假设该数据框已在其他地方定义\n\n# 添加stan模型的后验分布\np <- p + ggplot2::stat_density(\n  data = posterior_samples, \n  ggplot2::aes(x = p, y = ..density..),\n  color = \"blue\", \n  geom = \"line\", \n  size = 1, \n  inherit.aes = FALSE\n)\n\n# 计算HDI并添加到图中\nhdi <- bayestestR::hdi(posterior_samples$p, ci = 0.94)\nmean_p <- mean(posterior_samples$p)\nhdi_low <- hdi[[1]]  # 下限值\nhdi_high <- hdi[[2]]  # 上限值\n\n# 添加HDI区间\np <- p + \n  ggplot2::annotate(\"segment\", x = hdi_low, xend = hdi_high, \n           y = 0, yend = 0, color = \"black\", size = 2) +\n  ggplot2::annotate(\"text\", x = mean(c(hdi_low, hdi_high)), y = 0.5, label = \"94% HDI\", \n           color = \"black\", size = 3.5) +\n  ggplot2::annotate(\"text\", x = hdi_low, y = -0.3, label = round(hdi_low, 2), \n           color = \"black\", size = 3.5) +\n  ggplot2::annotate(\"text\", x = hdi_high, y = -0.3, label = round(hdi_high, 2), \n           color = \"black\", size = 3.5) +\n  ggplot2::annotate(\"text\", x = mean_p, y = max(stats::dbeta(x, alpha_posterior, beta_posterior)) + 1, \n           label = paste0(\"mean=\", round(mean_p, 2)), \n           color = \"blue\", size = 4)\n\nprint(p)","outputs":[{"output_type":"display_data","data":{"text/plain":"plot without title","application/pdf":"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\nyM7t0xsfiITrHe8DX/1WCzJfBoKf3rnIt3mjz9LH6BPeCd5uX+gk33L5N8S/5hn+xVdf3fVp\n84PnOV/zh+/4HZ85z72tg/Pe4BtOZjxUXy/Lf62N2T/VTWwX6zauTVfzZhjHMSyOGW/nW83e\nR+X/GOBkwQoUlpfC4zzFglNY5U2kwI/F6y8JvL8nnvJp/l5vqbPFX2JN8Yc2uAkL3nLpj1rw\nwylW238AsgI5kAplbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKICAgMzc3MAplbmRvYmoKMyAw\nIG9iago8PAogICAvRXh0R1N0YXRlIDw8CiAgICAgIC9hMCA8PCAvQ0EgMSAvY2EgMSA+Pgog\nICA+PgogICAvRm9udCA8PAogICAgICAvZi0wLTAgNyAwIFIKICAgPj4KPj4KZW5kb2JqCjgg\nMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVuZ3RoIDkgMCBSCiAgIC9OIDEKICAgL0Zp\ncnN0IDQKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicM1Mw4IrmiuUCAAY4\nAV0KZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCiAgIDE2CmVuZG9iagoxMSAwIG9iago8PCAv\nTGVuZ3RoIDEyIDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvTGVuZ3RoMSAxMTk4\nMAo+PgpzdHJlYW0KeJzlenl8FFXy+Ku+5kgmPfdMMgkzk0lCYAIJGQIEkWmBxGBEJkAgE4Qk\nEDB4EZmo4AHhUghgomZRDiGroIBAOoAQVJZ4o8KCx+ruIiYq7roqBllcd4HM/Kq7Jwe4+v19\nfr/ff7+evO73quq9V69eVb2q7hAghGhJLaGJa/ZdFdWfLdzyOSFJWYRQpbPvq3Hd9NfCS4Q4\n12J71dzq2+5aXHHQQEiymRDVgdvuXDT3ce65m3CE3YQkrqiaU1EZQ9a0EDLgGMKGVSFA10hv\nJ2QgNklK1V01C5su6ZOwnYLtpjvnz64gVMZ5bL+J7W13VSyspp+izxLircK2q3rBnOquvTeO\nx/YqQuixhCInCGGz2aXIrYo4BR3FsTRHa9QszSDIfyLzhMEIubkGn8E3JMvkNrhNBrfhBDPn\n8qab6RPs0ktL2JzLNuYfEjcUKY98zxjZ9cRGUsgUYXA/o4qzxxLCGenUtFg37w4Fed7JU3E0\n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\n0FSB6SKsElMnS3ehqFTkVomkuHR6SQvAY8GV69aRMUmFYvbkErE8KVgoVmJFkCq1WNEntVjJ\nmGCoJlRzr1e6QKmQGq83FJJqILW8Ck6ugTeEaCTDTtiouZeEvKEaCIVqSKgG4SGYifVQiIQQ\nHgLsgiXkjY7fMxJOMBMHwluNMkUohP1COE4oOp19Jvlfw9oK8wplbmRzdHJlYW0KZW5kb2Jq\nCjEyIDAgb2JqCiAgIDc4NTUKZW5kb2JqCjEzIDAgb2JqCjw8IC9MZW5ndGggMTQgMCBSCiAg\nIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nF2SzW7CMBCE73kKH+kBJbGDXaQI\nqaIXDv1RaR8g2BsaqTiRCQfevrseRKUewF82s+OJveV297yLw6zK9zT6Pc2qH2JIdB4vyZM6\n0HGIRa1VGPx8e8r//tRNRcnN++t5ptMu9mPRtqr84JfnOV3V4imMB3oolFLlWwqUhnhUi6/t\nHqX9ZZp+6ERxVlWx2ahAPdu9dNNrdyJV5ublLvD7Yb4uue1P8XmdSOn8XCOSHwOdp85T6uKR\niraqNqrt+01BMfx7Z9ZoOfT+u0tFa9YsrSpemBtww6xXmXlhrsAVc/OYmRdm6BvRN/Bpsg/0\nRvSa0EtSd6g7Yfgb8bchMy/MqNtcr8G1MHxs9oHeiN4gj5E8BnojemPBltkhp5OcDjmd5HTI\n6STnCrwStj326kVjoDHCGqxFAx8rPg3qjdQ18mjJoz3YC0OvRW+RzUo2C38r/rYDd7IXzsHl\nc8C5WTk3i2+x8i0GvSb3Yi9e5NJvtyvXL3N6nyt/SYlHKg9zniWZoiHSfd6ncZKu/PsFsI/K\nBQplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCiAgIDQwMQplbmRvYmoKMTUgMCBvYmoKPDwg\nL1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvQ1lRVkRTK0xpYmVyYXRpb25T\nYW5zCiAgIC9Gb250RmFtaWx5IChMaWJlcmF0aW9uIFNhbnMpCiAgIC9GbGFncyAzMgogICAv\nRm9udEJCb3ggWyAtNTQzIC0zMDMgMTMwMSA5NzkgXQogICAvSXRhbGljQW5nbGUgMAogICAv\nQXNjZW50IDkwNQogICAvRGVzY2VudCAtMjExCiAgIC9DYXBIZWlnaHQgOTc5CiAgIC9TdGVt\nViA4MAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMiAxMSAwIFIKPj4KZW5kb2JqCjcgMCBv\nYmoKPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL1RydWVUeXBlCiAgIC9CYXNlRm9udCAv\nQ1lRVkRTK0xpYmVyYXRpb25TYW5zCiAgIC9GaXJzdENoYXIgMzIKICAgL0xhc3RDaGFyIDEy\nMQogICAvRm9udERlc2NyaXB0b3IgMTUgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29k\naW5nCiAgIC9XaWR0aHMgWyAyNzcuODMyMDMxIDAgMCAwIDAgODg5LjE2MDE1NiAwIDAgMzMz\nLjAwNzgxMiAzMzMuMDA3ODEyIDAgMCAyNzcuODMyMDMxIDAgMjc3LjgzMjAzMSAwIDU1Ni4x\nNTIzNDQgNTU2LjE1MjM0NCAwIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1\nNi4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMCAwIDAgNTgzLjk4\nNDM3NSAwIDAgMCAwIDY2Ni45OTIxODggMCA3MjIuMTY3OTY5IDAgMCAwIDcyMi4xNjc5Njkg\nMjc3LjgzMjAzMSAwIDAgMCAwIDAgMCA2NjYuOTkyMTg4IDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgNTU2LjE1MjM0NCAwIDUwMCA1NTYuMTUyMzQ0IDU1Ni4xNTIzNDQgMjc3\nLjgzMjAzMSA1NTYuMTUyMzQ0IDAgMjIyLjE2Nzk2OSAyMjIuMTY3OTY5IDAgMjIyLjE2Nzk2\nOSA4MzMuMDA3ODEyIDU1Ni4xNTIzNDQgNTU2LjE1MjM0NCA1NTYuMTUyMzQ0IDAgMzMzLjAw\nNzgxMiA1MDAgMjc3LjgzMjAzMSA1NTYuMTUyMzQ0IDAgMCAwIDUwMCBdCiAgICAvVG9Vbmlj\nb2RlIDEzIDAgUgo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL09ialN0bQogICAvTGVu\nZ3RoIDE4IDAgUgogICAvTiA0CiAgIC9GaXJzdCAyMwogICAvRmlsdGVyIC9GbGF0ZURlY29k\nZQo+PgpzdHJlYW0KeJxVkUFrhDAQhe/+irkU9KJJdF13kT2swlJKQdyeWnoIcXADxUgSS/ff\nN9HVUnKajzd57yUUSEBz2JGAAc3ygO4hzQ9BWULydh8Rkob3aAIASF5kZ+ADGBBo4XNGlZoG\nCzQ4neaNRqtuEqghFFxqBTSmRZxBeLN2NMckmWmv+XiTwsRK91G0XKORW6mGmluEsD4ywnbk\nwApSZGlK36P1/r9E8ORc/WrDNfoIPtQMXrGT/Kx+XFLizp4RV4hseQfr5AayTX/RahqhLP3g\n58Vjpiu6Oqr5YEbvJe4rfgarJ1ynyqlq/JYC28vZQ5fZ8xaNmrRAA+nmeXWLwi7RjfuAf/Uq\nbvmX6h/t3OM/yjnRL6K0bikKZW5kc3RyZWFtCmVuZG9iagoxOCAwIG9iagogICAyNzUKZW5k\nb2JqCjE5IDAgb2JqCjw8IC9UeXBlIC9YUmVmCiAgIC9MZW5ndGggNzkKICAgL0ZpbHRlciAv\nRmxhdGVEZWNvZGUKICAgL1NpemUgMjAKICAgL1cgWzEgMiAyXQogICAvUm9vdCAxNyAwIFIK\nICAgL0luZm8gMTYgMCBSCj4+CnN0cmVhbQp4nGNgYPj/n4mBi4EBRDAx8usyMDAy8AMJfjGQ\nGAeQZZQK4s4CEgIyQMLUFsQyBBL6jiAiEkgYWoKIAIgpjCCCmdHsKFDM7A4DAwCugQjMCmVu\nZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjE0MDQ0CiUlRU9GCg==","text/html":"<img src=\"https://cdn.kesci.com/upload/rt/8DC40F17A79942D5A9DA63A371ECCC40/t3aiwkeg53.svg\">"},"metadata":{"image/png":{"width":600,"height":300},"image/jpeg":{"width":600,"height":300},"image/svg+xml":{"width":600,"height":300,"isolated":true},"application/pdf":{"width":600,"height":300}}}],"execution_count":19},{"cell_type":"markdown","metadata":{"id":"294F36D4A56C4B58BA4D7042815435BE","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 小结  \n\n- 从贝叶斯公式到贝叶斯推断  \n- 贝叶斯推断的核心与难点：获得后验分布  \n- 传统方法依赖共轭先验，限制了贝叶斯推断的使用  \n- 近似的方法是现代贝叶斯推断获得广泛应用的基础(网格近似、MCMC)。"},{"cell_type":"markdown","metadata":{"id":"EA54C2A3F53B453E952E28AD2DD04B12","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### 💐补充材料  \n#### Normal-Normal conjugate family  \n\n除了 Beta-Binomial 外，最常见的共轭分布是：Normal-Normal。  \n\n**以随机点运动任务（Random Dot Motion Task）为例**  \n\n假设我们打算开始进行一项随机点运动任务实验，尚未开始招募被试。为了对被试在不同条件下的表现进行推断，我们参考了先前的文献Vafaei Shooshtari et al. (2019)，他们的研究表明，当**随机点的一致性为5%时，个体的平均正确率约为 70%**。  \n\n为了更新我们对被试在随机点一致性为5%时的平均正确率的信念，我们计划通过贝叶斯推断收集10000名被试的实验数据，并使用Normal-Normal 贝叶斯模型来估计更新后的正确率。  \n\n  > Shooshtari, S. V., Sadrabadi, J. E., Azizi, Z., & Ebrahimpour, R. (2019). Confidence representation of perceptual decision by EEG and eye data in a random dot motion task. Neuroscience, 406, 510–527. https://doi.org/10.1016/j.neuroscience.2019.03.031  "},{"cell_type":"markdown","metadata":{"id":"2D2F108024AB427A891F7E5427AD4752","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**正态模型的应用**  \n\n在这个实验中，我们假设被试的正确率服从正态分布，即：  \n\n$$  \nY \\sim N(\\mu, \\sigma^2).  \n$$  \n\n其中：  \n- $Y_i$ 是第 $i$ 个被试在随机点一致性为5%时的正确率，  \n- $\\mu$ 是我们要估计的平均正确率，  \n- $\\sigma$ 是已知的正确率标准差。  \n\n根据 Vafaei Shooshtari et al. (2019) 的研究结果，我们对 $\\mu$（平均正确率）的初始信念假设为正态分布，即先验分布为：  \n\n$$  \n\\mu \\sim N(\\theta, \\tau^2)  \n$$  \n\n注：  \n- $\\theta = 0.70$，表示我们根据文献得出的先验均值（70%），  \n- $\\tau^2$ 是先验的方差，表示我们对这个均值的初始不确定性。  \n"},{"cell_type":"markdown","metadata":{"id":"EF1815BEE5294B61A9CDE38143D7F15C","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**似然函数**  \n\n根据正态分布假设，样本数据的似然函数可以写为：  \n\n$$  \nL(\\mu | \\vec{y}) \\propto \\prod_{i=1}^{n} \\exp\\left[{-\\frac{(y_i - \\mu)^2}{2\\sigma^2}}\\right]  \n$$  \n\n其中，$y_i$ 是每个被试的观测正确率，$\\sigma^2$ 是已知的正确率方差。  \n"},{"cell_type":"markdown","metadata":{"id":"4E9ADE8E8B1A4B13B205AB033778AED1","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n**正态-正态共轭关系**  \n\n由于我们选择了正态分布作为 $\\mu$ 的先验，并且似然函数也是正态分布，因此，利用**正态-正态共轭**，后验分布仍然是正态分布。后验分布的形式为：  \n\n$$  \n\\mu|\\vec{y} \\sim N\\left(\\frac{\\theta\\sigma^2 + \\bar{y}n\\tau^2}{n\\tau^2 + \\sigma^2}, \\frac{\\tau^2\\sigma^2}{n\\tau^2 + \\sigma^2}\\right)  \n$$  \n\n其中：  \n- $\\bar{y}$ 是样本的均值（观测到的平均正确率），  \n- $\\sigma^2$ 是已知的正确率方差，  \n- $\\tau^2$ 是先验的方差。  \n"},{"cell_type":"markdown","metadata":{"id":"AA4A8D56FE944E5E802294EDF1A152C9","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"\n**后验分布分析**  \n\n- **后验均值**：后验均值是先验均值 $\\theta$ 和样本均值 $\\bar{y}$ 的加权平均：  \n\n  $$  \n  \\text{posterior mean} = \\theta\\frac{\\sigma^2}{n\\tau^2 + \\sigma^2} + \\bar{y}\\frac{n\\tau^2}{n\\tau^2 + \\sigma^2}  \n  $$  \n\n- **后验方差**：后验方差受先验的方差 $\\tau^2$ 和样本数据的方差 $\\sigma^2$ 的共同影响：  \n\n  $$  \n  \\text{posterior variance} = \\frac{\\tau^2\\sigma^2}{n\\tau^2 + \\sigma^2}  \n  $$  \n\n随着样本量 $n$ 的增加，后验均值逐渐依赖于观测数据，而对先验的依赖减小。同时，后验方差随着样本量的增加而减小，意味着我们对 $\\mu$ 的估计将变得更加精确。  \n"},{"cell_type":"code","metadata":{"collapsed":false,"id":"117DC04D306C4D8B81651F9DE8FF9884","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[],"trusted":true,"vscode":{"languageId":"r"}},"source":"# 定义正确率范围\nx <- seq(0, 1, length.out = 10000)  # 正确率在0到1之间\n\n# 定义先验分布 (基于文献，正确率均值为70%)\nprior_mean <- 0.70\nprior_std <- 0.05\nprior_y <- dnorm(x, mean = prior_mean, sd = prior_std)\nprior_y <- prior_y / sum(prior_y)  # 归一化\n\n# 生成似然分布 (基于新实验数据，正确率均值为75%)\nlikelihood_mean <- 0.75\nlikelihood_std <- 0.05\nlikelihood_values <- dnorm(x, mean = likelihood_mean, sd = likelihood_std)\nlikelihood_values <- likelihood_values / sum(likelihood_values)  # 归一化\n\n# 计算后验分布\nposterior_mean <- (prior_mean * likelihood_std^2 + likelihood_mean * prior_std^2) / \n  (prior_std^2 + likelihood_std^2)\nposterior_std <- sqrt((prior_std^2 * likelihood_std^2) / (prior_std^2 + likelihood_std^2))\nposterior <- dnorm(x, mean = posterior_mean, sd = posterior_std)\nposterior <- posterior / sum(posterior)  # 归一化\n\n# 创建数据框用于绘图\nplot_data <- data.frame(\n  x = rep(x, 3),\n  density = c(prior_y, likelihood_values, posterior),\n  distribution = factor(rep(c(\"prior\", \"likelihood\", \"posterior\"), each = length(x)),\n                        levels = c(\"prior\", \"likelihood\", \"posterior\"))\n)\n\n# 绘制图形\nggplot(plot_data, aes(x = x, y = density, color = distribution, fill = distribution)) +\n  geom_line(size = 1) +\n  geom_area(alpha = 0.5, position = \"identity\") +\n  scale_color_manual(values = c(\"#f0e442\", \"#0071b2\", \"#009e74\")) +\n  scale_fill_manual(values = c(\"#f0e442\", \"#0071b2\", \"#009e74\")) +\n  labs(x = expression(mu ~ \"for accuracy (correct response rate)\"),y = \"density\") +\n  scale_y_continuous(expand = c(0, 0)) +\n  papaja::theme_apa() +\n  # 设置图例位置\n  theme(legend.position = \"right\")","outputs":[],"execution_count":45},{"cell_type":"markdown","metadata":{"id":"651BBA85E38C4CE7B0AF1C432457FC5E","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"##### 补充：Gamma-Poisson conjugate family  \n\nGamma-Poisson共轭家族是一组统计模型，其中Poisson分布用于描述计数数据，而Gamma分布作为其参数的先验分布。  \n- Poisson分布是一种离散概率分布，用于描述在固定时间间隔或空间区域内发生某一事件的次数。  \n- Gamma分布是一种连续概率分布，用于描述等待时间直到第$k$个事件发生的时间长度，或者作为正态分布方差的共轭先验。"},{"cell_type":"markdown","metadata":{"id":"5D5FBCF7EEE04E26A4C08478DA66D697","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**例子：随机点运动任务中的被试招募**：  \n\n假设一位心理学研究者每天都需要每天招募新的被试参与随机点运动任务实验。  \n\n他认为平均下来，每天可以招募到 12 个被试，这个数字大约在 5 到 20 之间浮动。  \n\n我们假设研究者**平均每天招募到的被试数量**为$\\lambda$  \n> 请注意一些新的希腊字母：λ = lambda  \n\n**🤔我们该使用哪种分布来描述下面这个例子？**  "},{"cell_type":"markdown","metadata":{"id":"77131E68B78A47799BDC337C21DD1B9B","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"需要注意的是，通常我们会：  \n1. 为$\\lambda$选择一个合适的先验  \n2. 接着收集数据，并且选择一个合适的数据模型  \n3. 结合先验与数据，更新我们对$\\lambda$的信念  \n"},{"cell_type":"markdown","metadata":{"id":"EE7A5EEBE0D84A998F7C3702500F54F3","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"在这一节中，为了方便探讨共轭先验，我们先从似然函数出发，然后再选取先验，最后讨论后验和共轭先验的关系。  \n\n- 我们需要先假定似然函数$L(\\lambda|y)$是已知的  \n- 再去选取一个合适的先验分布$p(\\lambda)$  \n- 最后使得后验分布与先验分布具有相同的数学形式。"},{"cell_type":"markdown","metadata":{"id":"3157622D916842BE8531CFB639E14DE0","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**Poisson分布**  \n\n**泊松分布(Poisson distribution)** 适用于描述在一定时间间隔内事件发生的次数。  \n\n**Poisson分布**的概率质量函数(pmf)可以表示为：  \n\n$$  \nf(y) =  \\frac{\\lambda^{y}e^{-\\lambda}}{y!}  \n$$  \n\n* Poisson分布只有一个参数$\\lambda$，表示事情发生平均发生率(event rate)或事件发生的期望次数。  \n* $y$是数据，指在一定时间间隔中事件发生的次数。  \n* $f(y)$表示在某单位时间内，某事件$y$发生的平均次数的概率。  \n* 例如，假设研究者平均每天可以招募 12 个被试（$\\lambda = 12$），那么在一天内招募到 5 个被试的概率 $f(5)$ 招募到 10 名被试的概率 $f(10)$，或招募到 15 名被试的概率 $f(15)$ 都可以通过 Poisson 分布进行计算。  \n"},{"cell_type":"markdown","metadata":{"id":"DE596146181F41C398A8D7619B6F47CB","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**Poisson分布图示**  \n\n下图展示了不同$\\lambda$下，事件发生y次的可能性分布  \n\n![Image Name](https://cdn.kesci.com/upload/skt7lxrj64.png?imageView2/0/w/900)"},{"cell_type":"markdown","metadata":{"id":"CA9574A4CF2D49F3B7E6741CCC0298F9","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**Potential priors**  \n\n**🤔思考：**  \n\n我们有如下形式的Poisson 似然函数：  \n\n$$  \nL(\\lambda | \\vec{y}) = \\frac{\\lambda^{\\sum y_i}e^{-n\\lambda}}{\\prod_{i=1}^n y_i!} \\propto \\lambda^{k}e^{-r\\lambda}  \n$$  \n\n从公式中可以看到，似然函数具有类似于 $\\lambda^{k} e^{-r\\lambda}$ 的结构。  \n那么，哪种先验分布与这种似然函数相匹配，从而作为 Poisson 分布的**共轭先验**？  \n\n1. Gamma模型：$f(\\lambda) \\propto \\lambda^{s - 1} e^{-r \\lambda}$  \n\n2. Weibull模型：$f(\\lambda) \\propto \\lambda^{s - 1} e^{(-r \\lambda)^s}$  \n\n3. \"F\"模型：$f(\\lambda) \\propto \\lambda^{\\frac{s}{2} - 1}\\left( 1 + \\lambda\\right)^{-s}$  \n\n从形式上看，Gamma 分布与 Poisson 似然函数最匹配，  \n在 Poisson 分布中，Gamma 分布是 $\\lambda$ 的共轭先验，计算后会得到简便的后验分布。"},{"cell_type":"markdown","metadata":{"id":"614987BA18754F8BBEC8B6BA5ABCFC5A","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"**共轭性**  \n\nGamma分布是一种连续概率分布，用于描述等待时间直到第$k$个事件发生的时间长度，或者作为正态分布方差的共轭先验。其概率密度函数（PDF）由以下公式给出：  \n$$  \nf(\\lambda | \\alpha, \\beta) = \\frac{\\beta^\\alpha \\lambda^{\\alpha-1} e^{-\\beta\\lambda}}{\\Gamma(\\alpha)}  \n$$  \n其中，$\\lambda$ 是分布的随机变量，$\\alpha$ 和 $\\beta$ 是Gamma分布的形状参数和速率（或尺度）参数，$\\Gamma(\\alpha)$ 是Gamma函数。  \n\n当使用Gamma分布作为Poisson分布参数$\\lambda$的先验分布时，得到的后验分布也属于Gamma分布。这种关系称为共轭性。具体来说，如果先验分布是Gamma分布，即：  \n$$  \n\\lambda \\sim \\text{Gamma}(\\alpha, \\beta)  \n$$  \n并且我们观测到Poisson数据$Y = y$，那么后验分布也是Gamma分布，其参数更新为：  \n$$  \n\\lambda | Y = y \\sim \\text{Gamma}(\\alpha + y, \\beta + 1)  \n$$  \n这种共轭关系使得Gamma分布成为Poisson分布参数的自然选择，因为它保持了数学上的简洁性，使得后验分布的推导和分析变得容易。"},{"cell_type":"markdown","metadata":{"id":"D7C27106D5FC4A08BDE10862D660EBC9","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"### Critiques of conjugate family models  \n\n共轭族的优势在于方便理解和计算，这种便利性也带来了**缺点**：  \n\n1. 共轭先验模型可能并不能适应你的先验信念。  \n   - 例如，正态模型总是围绕均值 $μ$ 对称。因此，如果你的先验认识不是对称的，那么正态先验模型可能就不适合作为先验。  \n2. 共轭族模型并不允许有一个完全平坦的先验(uniform prior)。  \n   - 虽然我们可以通过设置 $\\alpha$ = $\\beta$ = 1 来使得 Beta 先验变得更加平坦，但无论是 Normal 还是 Gamma 先验（或任何具有无限支持的适当模型）都**无法调整为完全平坦**。  \n   - 我们能做的最好的办法就是调整先验，使其具有非常高的方差，这样它们就几乎是平的了。"},{"cell_type":"markdown","metadata":{"id":"0C94762D75944B579F46C3BE2A409AF1","jupyter":{},"notebookId":"68d7f5f0641ee0c1d9bb01cc","runtime":{"status":"default","execution_status":null,"is_visible":false},"scrolled":false,"slideshow":{"slide_type":"slide"},"tags":[]},"source":"## 附录  \n本课的Python代码与R代码为单独的代码脚本，见：https://gitee.com/hcp4715/PyBayesian"}],"metadata":{"kernelspec":{"language":"R","display_name":"R","name":"ir"},"language_info":{"codemirror_mode":"r","name":"R","mimetype":"text/x-r-source","file_extension":".r","version":"3.3.2","pygments_lexer":"r"}},"nbformat":4,"nbformat_minor":4}